Когда использовать SortedList <TKey, TValue> поверх SortedDictionary <TKey, TValue>?

Это может показаться дубликатом этоговопрос, который спрашиваетКакие'Разница междуSortedList а такжеSortedDictionary?» К сожалению, ответы не более чем цитируют документацию MSDN (в которой четко указано, что между ними есть различия в производительности и использовании памяти), но неТ на самом деле ответить на вопрос.

На самом деле (и поэтому этот вопрос неполучить те же ответы), в соответствии с MSDN:

SortedList универсальный класс - это двоичное дерево поиска с O (log n) поиском, где n - количество элементов в словаре. В этом он похож наSortedDictionary родовой класс. Два класса имеют похожие объектные модели, и оба имеют O (log n) извлечения. Эти два класса различаются в использовании памяти и скорости вставки и удаления:

SortedList использует меньше памяти, чем.SortedDictionary

SortedDictionary имеет более быстрые операции вставки и удаления для несортированных данных, O (log n), в отличие от O (n) для.SortedList

Если список заполняется сразу из отсортированных данных,SortedList быстрее чем.SortedDictionary

Итак, ясно, что это указывало бы наSortedList лучший выборесли вам нужно быстрее вставлять и удалять операции длянесортированный данные.

Вопрос по-прежнему остается, учитывая приведенную выше информацию, каковы практические (в реальных условиях, бизнес-кейс и т. Д.) Причины использованияSortedDictionary? Основываясь на информации о производительности, это будет означать, что на самом деле нет необходимости иметьSortedDictionary совсем.

Ответы на вопрос(5)

Ваш ответ на вопрос