私は1つの辞書を持っているとit.for例のいくつかの要素を追加し、C#ので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");
、辞書は、自然の要素を保持しorder.But私は今、最後の最初(すなわち、反転させるためにそれらの値を反復処理したいです).i平均、
最初に私はytye、次にgdlh、そして最後にContentを読みたいと思っています。
あなたの状態* * "C#のでは、辞書は、自然な順序で要素を保持します"。それは正しくありません。 [備考セクション](http://msdn.microsoft.com/en-us/library/xfhwa508.aspx)は、「アイテムが返される順序は未定義です。」* –
@Daniel Hilgarthこれは私の初期のものでした私はそのようにコメントしましたが、いくつかのコードをテストしたので、削除しました。だから私はもう少し研究をしました。最終的には、辞書のサイズ変更を強制すると、挿入中に要素を並べ替えることができます。 SortedDictionaryはキーの順序を参照していますが、比較元に渡すことはできます... OrderedDictionaryは非ジェネリックですが、必要なものかもしれません。 –
標準的な辞書*の列挙されたエントリの "順序"は基本的にあなたがそれらを入れた順序ですが、これは一度だけ大きな引数になりました。これは保証されていません!これが常にそうであると仮定することは非常に賢明ではありません。 – JerKimball