2016-09-23 33 views
0

定界鍵值對的簡單示例是name=brady?在這種情況下,串聯很簡單,但我正在考慮由這種對組成的字典。我在處理很多這些值作爲表單數據和其他上下文,並且很快做出了一個粗略的字典,但是如果它沒有重新發明輪子,我們會對它進行改進以備將來使用。在.NET中是否有類似於分隔鍵值對的東西?

這個問題的關鍵是,確實特殊鍵值對我想存在[1],如果沒有,我會延長Dictionary<TKey, TValue>,因爲總是我的注意。

有時人們在這裏問很愚蠢的問題,所以我原諒那些誰回答這個,好像我是熟練編碼器岩石的腫塊。

[1]這樣做,但是爲MS的代碼和唯一的具有內部可訪問性,如保羅·摩根多指出。現在,如果MS有這樣一個班級,爲什麼他們不只是貼一本普通的詞典,就像有人告訴我要做的一樣。

+4

你能否提供更多細節?這與「字典」有什麼不同? –

+1

還有一個現有的'KeyValuePair '通用結構(由'Dictionary '使用)。聽起來就像你只需要一個Parse()函數來處理你的數據。 –

+1

@CurtisLusmore擴展詞典有一對分隔符,一對隔板,字符轉義功能,和一個'的ToString()'那將其連接所有樣形式數據一般的情況,和一個'解析()'功能,也許'排序()'按鍵或按值,開始。它比總是使用'Dictionary '更方便,並且手動完成其餘部分。 – ProfK

回答

1

這是不公開的,我記得有往返的問題,但你可以去看看HttpValueCollection

+0

這是一條評論,而不是答案。您需要對此進行充實,以便它包含足夠的內容,以便即使在沒有鏈接的情況下也能回答問題。 – Enigmativity

+0

謝謝你是唯一的讀者,瞭解我的意思。 – ProfK

+0

我認爲一個小的複製和粘貼,有一些調整,'HttpValueCollection'源將做得很好,謝謝。 – ProfK

1

我認爲你可以使用https://msdn.microsoft.com/en-us/library/system.collections.specialized.namevaluecollection(v=vs.110).aspx

HttpUtility提供了手段來管理從字符串這種類型的集合。

var parameters = HttpUtility.ParseQueryString(string.Empty); 
parameters["foo"] = "text"; 
parameters["baz"] = "asdff=32322"; 
Console.WriteLine(parameters.ToString()); 

parameters = HttpUtility.ParseQueryString(parameters.ToString()); 
Console.WriteLine(parameters["foo"]); 
Console.WriteLine(parameters["baz"]); 
+0

謝謝。看到其他評論員都告訴我使用一個正常的字典或一個特殊的序列化程序,如果還沒有這樣一本字典,我打算這麼做。 – ProfK

相關問題