Существует ли какая-либо структура данных List, которая обеспечивает упорядочение при добавлении?

Мне нужна структура данных списка, которая сортируется, как только элемент добавляется. Как это делает SortedSet, просто разрешая дубликаты. Есть ли что-то подобное в .NET framework?

Я уже проверил документы, но ничего не нашел. Не верится, что есть только SortedSet и SortedList, причем в последнем случае сортировка по ключу, а не по свойству объекта (ключи мне тоже не нужны, просто список объектов заданного типа, отсортированный кастомным компаратором)


person stefan.at.wpf    schedule 08.07.2021    source источник
comment
См., например. этот ответ в двух экземплярах. Ваш вопрос слишком широк и больше похож на запрос рекомендации конкретной структуры данных, чем на запрос о помощи с какой-то конкретной проблемой программирования. Непонятно, что вы пробовали до сих пор, и какие другие требования у вас могут быть.   -  person Peter Duniho    schedule 08.07.2021
comment
@TimSchmelter: может быть, вам стоит взглянуть на ссылку, которую я предоставил. Кроме того, есть два других дубликата, которые в равной степени применимы к этому вопросу. Откровенно говоря, то, что существует так много возможных подходов, само определение слишком широкое. То, что вам даже пришлось бы спрашивать, почему я считаю его слишком широким, меня сбивает с толку.   -  person Peter Duniho    schedule 09.07.2021
comment
Я также думаю, что жаль, что вопрос был близок, потому что ссылки, на которые я ссылаюсь, на самом деле не отвечают на него. Насколько я вижу, OP хочет автоматически отсортированный общий список (что для меня означает, что он реализует IList‹T›), и кажется, что в .NET встроенной такой вещи нет. SortedSet‹T› и SortedList‹T›, например, даже не имеют индексатора, также известного как this[index].   -  person lidqy    schedule 09.07.2021
comment
(which implies to me it implements IList<T>) Это явно невозможно @lidqy, поскольку как docs.microsoft.com/en-us/dotnet/api/ работает?   -  person mjwills    schedule 09.07.2021
comment
@stefan.at.wpf Написание собственного класса, который содержит SortedList внутри (или List в сочетании с BinarySearch) и предоставляет операторы, которые вам особенно нужны, вероятно, будет вашим лучшим выбором. И убедитесь, что ключ неизменен. :)   -  person mjwills    schedule 09.07.2021