当前位置:  开发笔记 > 编程语言 > 正文

.NET中是否有排序的集合类型?

如何解决《.NET中是否有排序的集合类型?》经验,为你挑选了2个好方法。

我正在寻找一个能够保持所有物品整齐的容器.我查看了SortedList,但这需要一个单独的密钥,并且不允许重复密钥.我也可以使用未分类的容器,并在每次插入后显式排序.

用法:

偶尔插入

经常遍历顺序

理想情况下,不使用与实际对象分开的键,使用比较函数进行排序.

期望对等效对象进行稳定的排序,但不是必需的.

不需要随机访问.

我意识到我可以建立一个平衡的树结构,我只是想知道框架是否已经包含这样的野兽.



1> JeremiahClar..:

您可能想看一下Wintellect Power Collections.它可以在CodePlex上获得,并且包含很多非常有用的集合.项目中的OrderedBag集合正是您正在寻找的.它主要使用红黑树来提供非常有效的排序.


在鲍勃·迪伦不朽的话语中......他们的时代正在发生变化.所以我只想补充一点,SortedSet 现在是4.0框架的一部分.SortedSet也实现为红黑树.
开启者想要插入等效的对象,因此SortedSet 不能作为选项.

2> nawfal..:

只是为了让EBarr的评论作为答案,SortedSet从.NET 4.0开始.当然它是一个集合,这意味着你不能有重复.

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有