我有一个实现IScriptItem
的接口IComparable<IQueueItem>
。
在我看来,拥有IComparable
个项目似乎已经足够了。但我能找到的只是Dictionaries,Hashtables和SortedLists,它们实际上是SortedTrees。
我正在寻找的是一个排序的通用列表,它采用IComparables。 我在寻找错误的地方吗?
答案 0 :(得分:3)
没有任何内置功能。你有一些选择:
对于这个特殊情况,请查看Wintellect PowerCollections OrderedBag类,它在内部使用红黑树。其他优秀的免费数据结构库包括NGenerics和C5。
答案 1 :(得分:3)
如果我理解正确,你想要一个SortedCollection&lt; TValue&GT;而不是各种SortedCollection&lt; TKey,TValue&gt;那里。
在.NET 4中,有一个新的SortedSet<T>
类可以保持其项目的顺序,但不允许重复。否则你将不得不看第三方选项,如Matt Howells提到的选项。