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()
{
// ソート対象のList<string>
SortedList<string, int> list = new SortedList<string, int>();
list.Add("Dave", 1);
list.Add("Alice", 2);
list.Add("Bob", 3);
list.Add("Eve", 4);
list.Add("Charlie", 5);
// SortedListの内容を列挙して表示
// (特にソートの操作を行わなくてもソート後の順序で表示される)
foreach (var pair in list) {
Console.WriteLine("{0} {1}", pair.Key, pair.Value);
}
}
}
実行結果
Alice 2 Bob 3 Charlie 5 Dave 1 Eve 4
SortedList<TKey, TValue>およびSortedDictionary<TKey, TValue>で、値(TValue)の値を基準にソートする手段は用意されていないため、独自にソート処理を実装する必要があります。 詳しくはDictionaryのソートの解説を参照してください。
SortedList・SortedDictionaryのその他の機能と動作についてはジェネリックコレクション(3) SortedListとSortedDictionaryで詳しく解説しています。