我有一個字典,並添加一些元件上it.for例如,如何在C#中以相反順序(從上到下)迭代字典<string,string>?
Dictionary<string, string> d = new Dictionary<string, string>();
d.Add("Content","Level0");
d.Add("gdlh","Level1");
d.Add("shows","Level2");
d.Add("ytye","Level0");
在C#,字典保持在自然要素order.But我現在想從最後迭代這些值的第一(即,反向順序)。我的意思是,
首先我想讀ytye然後顯示,gdlh,最後是內容。
請指引我走出這個問題...
幽州* 「在C#,字典保持在自然順序元素」 *。這是不正確的。 [註釋部分](http://msdn.microsoft.com/en-us/library/xfhwa508.aspx)狀態*「項目返回的順序是未定義的。」* – 2012-04-16 11:52:31
@Daniel Hilgarth這是我的初始思想,我評論如此,但刪除它,因爲我測試了一些代碼,它的工作原理。所以我做了更多的研究。如果強制字典調整大小,最終可能會在插入過程中對元素進行重新排序。 SortedDictionary指的是鍵的順序,但你可以給它一個比較器... OrderedDictionary是非泛型的,但可能是他需要的。 – 2012-04-16 12:22:36
我對此有一個巨大的爭論 - 雖然標準字典*中枚舉條目的「順序」基本上是您將它們放入的順序,但這不是保證行爲!假設情況總是如此,這是非常不明智的。 – JerKimball 2012-11-28 20:23:44