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