支持通过索引和密钥访问的数据结构

时间:2013-05-07 13:12:28

标签: c# data-structures dictionary indexing key

Dictionary支持通过键访问元素。 List支持通过索引访问。 是否有任何数据结构支持通过密钥和索引进行访问?

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

所以这些项目的添加顺序与它们相同。这是否意味着字典按顺序维护项目?如果是,我们可以通过索引访问它们吗?如果不是,是否有任何此类集合可用于支持按索引和键访问元素?

2 个答案:

答案 0 :(得分:5)

我认为OrderedDictionary NameValueCollection 正是您所寻找的。

答案 1 :(得分:1)

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

字典中元素的顺序是非确定性的,因此是OrderedDictionary