如何从C#中的OrderedDictionary中按索引获取密钥?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (21)

如何通过索引从OrderedDictionary获取项目的密钥和值?

提问于
用户回答回答于

没有直接的内置方式来做到这一点。这是因为OrderedDictionary索引关键; 如果你想要真正的密钥,那么你需要自己追踪它。可能最直接的方法是将密钥复制到可索引集合中:

// dict is OrderedDictionary
object[] keys = new object[dict.Keys.Count];
dict.Keys.CopyTo(keys, 0);
for(int i = 0; i < dict.Keys.Count; i++) {
    Console.WriteLine(
        "Index = {0}, Key = {1}, Value = {2}",
        i,
        keys[i],
        dict[i]
    );
}

你可以将这种行为封装到一个新类中,该类包装对该类的访问OrderedDictionary

用户回答回答于
orderedDictionary.Cast<DictionaryEntry>().ElementAt(index);

扫码关注云+社区