什么是订购最有效的键值对?

时间:2009-11-13 03:16:07

标签: c#

由于我无法订购我的字典,采用键值对并维护索引的最佳方法是什么?

3 个答案:

答案 0 :(得分:6)

查看System.Collections.Generic.SortedDictionarySystem.collections.Generic.SortedList

排序字典对这些对进行排序,排序列表可以单独对键和值进行排序。

答案 1 :(得分:1)

您需要更具体地了解要求:

  • 您是否仍需要能够有效地按键查找?
  • 它应该只保持插入顺序(第1个,第2个等),还是允许任意插入点?
  • 您想要允许重复的密钥吗?

我怀疑如果您仍然需要查找它们,保持List<TKey>LinkedList<TKey>以及Dictionary<TKey, TValue>将是最佳/最简单的路线 - 否则 List<KeyValuePair<TKey, TValue>>可以正常使用。

对于第一个选项,您可以将其封装在实现IDictionary<TKey, TValue>的类型中。实际上,您可能希望将其设为LinkedList<KeyValuePair<TKey, TValue>>Dictionary<TKey, LinkedListNode<KeyValuePair<TKey, TValue>>>,以便有效地迭代键,值或条目,并能够有效地处理删除。

答案 2 :(得分:0)

你可以使用:

KeyValuePair<object, object>[] objects;