a SortedList<TKey,TValue>和a 之间是否有任何实际的区别SortedDictionary<TKey,TValue>?在任何情况下你会专门使用一个而不是另一个吗?
该场景是事件的时间线,我希望能够查询特定日期范围内的所有项目。
我正在寻找 .NET(最高 v4.0)中的数据结构,该结构将项目存储为排序且唯一的(例如,通过使用比较器或唯一键)。它应该支持不超过对数复杂度的添加/删除,并以该复杂度执行二分搜索。
System.Collections.Generic.SortedSet看起来像我想要的,但它的GetViewBetween()方法返回一个包含项目的列表,作为 SortedSet。
我遗漏了两件事:
ToList()或枚举 SortedSet 的成本太高,因为列表很长。我需要方法返回 a List<T>,而不是 a SortedSet<T>。如果您知道一个包含这样的数据结构的好库,并且经过测试并且熟悉,我肯定会尝试一下。
谢谢。