我有一個接口IScriptItem
,實現IComparable<IQueueItem>
。 在我看來,只要有IComparable
項目就足以擁有排序的東西。但我能找到的其實是SortedTrees的Dictionaries,Hashtables和SortedLists。SortedList只需要IComparable <T>
我在找的是一個帶有IComparables的有序列表。 我在錯看地方嗎?
我有一個接口IScriptItem
,實現IComparable<IQueueItem>
。 在我看來,只要有IComparable
項目就足以擁有排序的東西。但我能找到的其實是SortedTrees的Dictionaries,Hashtables和SortedLists。SortedList只需要IComparable <T>
我在找的是一個帶有IComparables的有序列表。 我在錯看地方嗎?
沒有什麼內置的。你有一些選擇:
對於這種特殊的情況下,簽出Wintellect的PowerCollections OrderedBag類,它採用了紅黑樹內部。其他好的免費數據結構庫包括NGenerics和C5。
如果我理解正確,您需要一個SortedCollection < TValue>而不是各種SortedCollection < TKey,TValue>。
在.NET 4中有一個新的SortedSet<T>
類,它保持項目的順序,但不允許重複。否則,你必須看看第三方的選擇,就像Matt Howells提到的那樣。
你還沒有真正說過你在找什麼 - 我在猜測一個通用列表,它保持它的項目有序? – 2009-07-08 21:27:02
對不起,這是遲到了,我有點厭倦了 – 2009-07-09 05:36:17