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で詳しく解説しています。

MENTAにてテキストチャットによるサポートを行っています。 問題の解決法をお探しの方や.NET/C#を学習中の方はどうぞご利用ください。