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
所以这些项目的添加顺序与它们相同。这是否意味着字典按顺序维护项目?如果是,我们可以通过索引访问它们吗?如果不是,是否有任何此类集合可用于支持按索引和键访问元素?
答案 0 :(得分:5)
我认为OrderedDictionary 或NameValueCollection 正是您所寻找的。 p>
答案 1 :(得分:1)
字典中的值不一定是唯一的,因此键查找。
字典中元素的顺序是非确定性的,因此是OrderedDictionary。