Здравствуйте, AndrewVK, Вы писали:
AVK>А можно сразу вопрос — чем это лучше просто Range<T>[]?
Только готовыми операциями над наборами диапазонов, больше ничем. А, ну и null ref exception не будет
![](/Forum/Images/smile.gif)
Понятно, что то же самое можно сделать и методами-расширениями поверх Range<T>[], но тогда операции получаются дороговастыми.
Для CompositeRange можно срезать кучу углов, т.к. поддиапазоны отсортированы + известны общие границы всего диапазона, для массива всё скатывается к полному перебору и к O(n^2) в самом запущенном случае.