Еще одна реализация может быть найдена в https://github.com/erdomke/RangeTree. В отличие от других реализаций, она стремится иметь интерфейс, подобный IDictionary<TKey, TValue>
, где это возможно.Может использоваться следующим образом:
var tree = new RangeTree<int, string>()
{
{ 0, 10, "1" },
{ 20, 30, "2" },
{ 15, 17, "3" },
{ 25, 35, "4" },
};
// Alternatively, use the Add method, for example:
// tree.Add(0, 10, "1");
var results1 = tree[5]; // 1 item: [0 - 10] "1"