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