2010-05-17 307 views

回答

3

在.NET 4.0中有SortedSet - 它看起來像會做你想做的,它有MinMax屬性。

.NET 3.5具有HashSet,但只有在平等,而不是訂貨交易。

+0

嗨,喬恩。不幸的是沒有在.NET 4.0上。計劃是儘快到達那裏,但同時我們必須考慮其他事情。我已經遇到了HashSet,但正如你所說,它不支持排序。我有一個想法,但我不知道這是多麼糟糕的想法。如果我們使用SortedList並將該值存儲爲鍵並將空值存儲爲值,會怎麼樣?除了感覺不對,我想不出任何理由爲什麼這是一個壞主意。 – uriDium 2010-05-17 09:58:24

+0

@uriDium:您可能希望使用SortedDictionary而不是SortedList - 基本上'SortedDictionary' *是一個樹形結構,所以它對隨機插入效率更高,但如果您添加排序項目則效率更低。查看文檔以獲得更詳細的比較。你可能想用自己的類型來包裝它,所以當你開始使用.NET 4時,你可以順利地移動到'SortedSet'。基本上它應該可以工作,但正如你所說的那樣很醜陋。 – 2010-05-17 10:05:24

+0

感謝您的意見。我們已經完成了對兩個集合的測試,並且它會出現排序列表,稍微爲我們的場景和數據的形狀執行sorteddictionary。濫用收藏絕對會感到醜陋。感覺像我應該實施我們自己的樹。不應該太難。再次感謝評論。 – uriDium 2010-05-17 10:35:33