我对 System.Collections.Generic.SortedList 感到有点吃惊
- 它要求我使用
<key, value>
而不是<value>
(比较) - 它只允许按值输入
这些在我想使用它的方式上看起来很古怪(尽管我确信它们正好适合其他情况)。还有没有这两个特征的集合?
最佳答案
SortedList<,>
实际上是一个按键排序的 map ,而不是列表。不好的命名,也许。但是有一些方法可以根据您的具体要求来模拟您想要的东西。例如,您可以封装一个 SortedList<T, int>
并添加/删除类似的内容:
// add
int count;
if(list.TryGetValue(value, out count)) list[value] = count+1;
else list[value] = 1;
最终您也可以使用一个简单的列表 ( List<>
) - 这取决于您在做什么。
在某种程度上,我预计数据绑定(bind)等会使实现立即排序的常规列表变得困难 - 您需要实现很多接口(interface)才能正常工作,因为它通常期望您添加的项目留在最后。
关于c# - C# 中是否有非唯一键排序列表泛型集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1747733/