11

我正在阅读有关 C# 的ImmutableSortedDictionary内容System.Collections.Immutable并考虑如何在我的程序中应用它。我非常喜欢 C++ 的lower_boundand upper_bound(请参见此处),并且我很期待看到类似的范围查找。但是,文档中似乎奇怪地没有类似的方法。我错过了什么吗?或者 MS 是否真的提供了一个排序字典而没有对排序范围的有效访问?这似乎不像一个可以IEnumerable在键上做的事情,比如扩展方法,所以我有点困惑,我没有看到集合直接提供的东西。

4

1 回答 1

8

令人恼火的是,可用的内置集合没有提供完整的功能集(如SortedDictionary缺少BinarySearch方法),迫使我们搜索第三方解决方案(如C5 库)。

ImmutableSortedDictionary在您的情况下,您可以使用 a代替a ImmutableSortedSet,将值嵌入键中并使用适当的比较器。至少这个类的 API 包含属性MinMax.

于 2019-11-07T07:42:46.470 回答