2013-05-07 49 views
1

Dictionary支持通過鍵訪問元素。 列表支持通過索引訪問。 有沒有支持通過密鑰和索引訪問的數據結構?支持通過索引訪問的數據結構以及鍵

Dictionary<string, string> d = new Dictionary<string, string>(); 
d.Add("abc", "def"); 
d.Add("ghi", "ghi"); 
d.Add("abcd", "abcd"); 
d.Add("how", "howis"); 
foreach (KeyValuePair<string, string> kv in d) 
    Console.WriteLine(kv.Key); 

輸出爲

abc 
ghi 
abcd 
how 

所以項目在同一序列出來,因爲他們加入。這是否意味着字典會依次維護項目?如果是,我們可以通過索引訪問它們嗎?如果不是,是否有這樣的可用集合支持索引訪問元素以及密鑰?

+0

Dictionary中元素的順序是不確定的,你不應該依賴它。 – 2013-05-07 13:15:53

回答

1

字典中的值不一定是唯一的,因此是鍵查找。

字典中元素的順序是非確定性的,因此OrderedDictionary

+0

如果字典中元素的順序是非確定性的,那麼for-each/Enumerator如何按照它們添加的順序獲取它們? – Brij 2013-05-07 13:23:49

相關問題