我正在阅读有关 C# 的ImmutableSortedDictionary
内容System.Collections.Immutable
并考虑如何在我的程序中应用它。我非常喜欢 C++ 的lower_bound
and upper_bound
(请参见此处),并且我很期待看到类似的范围查找。但是,文档中似乎奇怪地没有类似的方法。我错过了什么吗?或者 MS 是否真的提供了一个排序字典而没有对排序范围的有效访问?这似乎不像一个可以IEnumerable
在键上做的事情,比如扩展方法,所以我有点困惑,我没有看到集合直接提供的东西。
问问题
397 次
1 回答
8
令人恼火的是,可用的内置集合没有提供完整的功能集(如SortedDictionary
缺少BinarySearch
方法),迫使我们搜索第三方解决方案(如C5 库)。
ImmutableSortedDictionary
在您的情况下,您可以使用 a代替a ImmutableSortedSet
,将值嵌入键中并使用适当的比较器。至少这个类的 API 包含属性Min
和Max
.
于 2019-11-07T07:42:46.470 回答