1

ディクショナリは、キーを介した要素へのアクセスをサポートしています。リストはインデックス経由のアクセスをサポートしています。キーとインデックスの両方を介したアクセスをサポートするデータ構造はありますか?

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

そのため、アイテムは追加されたのと同じ順序で出てきます。それは辞書がアイテムを順番に維持するということですか?はいの場合、インデックスでアクセスできますか? いいえの場合、インデックスとキーによる要素へのアクセスをサポートするコレクションはありますか?

4

2 に答える 2

5

OrderedDictionary またはNameValueCollection が探しているものだと思います。

于 2013-05-07T13:14:50.870 に答える
1

ディクショナリ内の値は必ずしも一意であるとは限らないため、キー ルックアップが行われます。

辞書内の要素の順序は非決定論的であるため、OrderedDictionaryです。

于 2013-05-07T13:18:49.290 に答える