我正在尋找一個字典類型.NET集合支持的重複鍵和值,像這樣帶有重複鍵和值的.NET集合?
Collection c = new Collection();
c["Key"] = "value";
c["Key"] = "value";
c["Key1"] = "value1";
詞典不允許使用相同的按鍵
我正在尋找一個字典類型.NET集合支持的重複鍵和值,像這樣帶有重複鍵和值的.NET集合?
Collection c = new Collection();
c["Key"] = "value";
c["Key"] = "value";
c["Key1"] = "value1";
詞典不允許使用相同的按鍵
你可以使用字典包含列表:
Dictionary<string, List<string>> MyValues;
如果你需要用C像多重映射++ ,.NET中沒有直接的等價物。但是你可以通過把集合作爲一個值Dictionary of TKey, TValue效仿這一:
Dictionary<string, List<string>> c = new Dictionary<string, List<string>>();
c["Key"] = new List<string>();
c["Key"].Add("value");
c["Key"].Add("value2");
c["Key2"] = new List<string>();
c["Key2"].Add("Value1");
另一種方式 - 就是建立自己的最愛,將「隱藏」的所有unncesessary操作一些輔助方法裏面。例如,您的索引器可以檢查您的散列表中是否已經有apporpriate鍵,並在內部創建空列表。
字典不允許多個鍵。 –
當然,我想很多讀者乍一看都沒有正確理解這個問題。 –
@Florian確保字典支持多個鍵。我猜你的意思是字典不支持多個_values_每個鍵? –
散列表不允許多個鍵。 –
你說得對,謝謝。沒有得到正確的問題... – Marc
您尋找的是一個字典
字典不允許多個鍵。 –
只是一個猜測,但爲什麼不使用的字典,而是使價值一個列表?
Dictionary<string, List<string>> c = new Dictionary<string, List<string>>();
c["Key"] = new List<string>();
c["Key1"] = new List<string>();
c["Key"].Add("value");
c["Key"].Add("value");
c["Key1"].Add("value1");
我會建議使用類Lookup<TKey,TElement>
。它就像一個允許重複鍵的字典。
A multimap應該足夠。
迭代時,集合中有多少物品?兩三個? –
非常不完整的問題。 –