SortedList<TKey, TValue>およびSortedDictionary<TKey, TValue>では、要素を格納した時点で自動的にソートされるため、明示的にソートを行うメソッドはありません。 SortedList<TKey, TValue>およびSortedDictionary<TKey, TValue>では、キー(TKey)の値を基準にソートされます。
以下の例ではSortedListを使用していますが、SortedDictionaryでも結果は同様です。
数値をキーとしたSortedListのソート
using System;
using System.Collections.Generic;
class Sample {
static void Main()
{
// ソート対象のSortedList<int, string>
SortedList<int, string> list = new SortedList<int, string>();
list.Add(2, "Alice");
list.Add(3, "Bob");
list.Add(5, "Charlie");
list.Add(1, "Dave");
list.Add(4, "Eve");
// SortedListの内容を列挙して表示
// (特にソートの操作を行わなくてもソート後の順序で表示される)
foreach (var pair in list) {
Console.WriteLine("{0} {1}", pair.Key, pair.Value);
}
}
}
実行結果
1 Dave 2 Alice 3 Bob 4 Eve 5 Charlie
SortedList<TKey, TValue>およびSortedDictionary<TKey, TValue>で、値(TValue)の値を基準にソートする手段は用意されていないため、独自にソート処理を実装する必要があります。 詳しくはDictionaryのソートの解説を参照してください。
SortedList・SortedDictionaryのその他の機能と動作についてはジェネリックコレクション(3) SortedListとSortedDictionaryで詳しく解説しています。