2011-02-17 103 views
0

我有這樣如何快速解析以下數據到數據結構

A = B & C = d &Ë= F

如何快速解析成像詞典的數據結構的數據? .net框架的任何內置支持?

+0

很大程度上取決於數據的解釋應該是什麼。假設&是一個分隔符,K = V是一個關鍵值對,假設我認爲是正確的,但沒有任何地方陳述 – 2011-02-17 10:01:24

回答

5
var input = "A=B&C=D&E=F"; 
    var output = input 
        .Split(new string[] {"&"}, StringSplitOptions.RemoveEmptyEntries) 
        .Select(s => s.Split('=', 2)) 
        .ToDictionary(d => d[0], d => d[1]); 
+0

我喜歡這個,所以你可以通過給出一個例子來說明你希望最終結果爲 – 2011-02-17 10:03:53

4

使用HttpUtility.ParseQueryString() - 方法:

http://msdn.microsoft.com/en-us/library/ms150046.aspx

它會返回一個NameValueCollection中,這是非常與之相似的字典。

+0

方法,因爲它適用於'='和'&'以外的分隔符。可以決定明天使用'|'和' - '代替,這將是代碼中的簡單替換 – 2011-02-17 10:04:15

2

是的,LINQ是你的朋友在這裏。

string myString = "A=B&C=D&E=F"; 

var dictionary = myString.Split('&') 
    .Select(pair => pair.Split('=')) 
    .ToDictionary (array => array[0], array => array[1]);