2010-05-17 214 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