これは、「 SortedListとSortedDictionaryの違いは何ですか?」というこの質問と重複しているように見える場合があります。残念ながら、答えはMSDNのドキュメントを引用するだけであり(パフォーマンスとメモリの使用に違いがあることを明確に述べています)、実際には質問に答えていません.
実際(したがって、この質問は同じ回答を得られません)、MSDN によると:
ジェネリック クラスは、O(log n) 検索を行う二分探索木です。
SortedList<TKey, TValue>ここで、n はディクショナリ内の要素の数です。この点では、SortedDictionary<TKey, TValue>ジェネリック クラスに似ています。2 つのクラスのオブジェクト モデルは類似しており、どちらも O(log n) の取得が可能です。2 つのクラスの違いは、メモリの使用と挿入と削除の速度です。
SortedList<TKey, TValue>は より少ないメモリを使用しますSortedDictionary<TKey, TValue>。
SortedDictionary<TKey, TValue>の O(n) とは対照的に、O(log n) は、並べ替えられていないデータの挿入および削除操作が高速ですSortedList<TKey, TValue>。リストが並べ替えられたデータから一度に入力される場合、
SortedList<TKey, TValue>は よりも高速ですSortedDictionary<TKey, TValue>。
したがって、並べ替えられていないデータに対してより高速な挿入および削除操作が必要でない限り、明らかにこれがSortedList<TKey, TValue>より良い選択であることを示しています。
上記の情報を考えると、SortedDictionary<TKey, TValue>? パフォーマンス情報に基づいて、実際にはまったく必要がないことを意味しSortedDictionary<TKey, TValue>ます。
