List<T>をソートするには、List.Sortメソッドを使います。 List.Sortメソッドはメソッドを呼び出したインスタンス自身をソートします。

List.Sortで文字列をソートする
Imports System
Imports System.Collections.Generic

Class Sample
  Shared Sub Main()
    ' ソート対象のList(Of String)
    Dim list As New List(Of String)(New String() {"ab", "abc", "aa", "a", "b", "acb"})

    ' ソート
    list.Sort()

    ' ソート結果を表示
    For Each val As String In list
      Console.Write("{0}, ", val)
    Next
    Console.WriteLine()
  End Sub
End Class
実行結果
a, aa, ab, abc, acb, b, 

List.Sortメソッドでは、インスタンス自身をソートします(破壊的変更)。 ソートされたListが新たに作成され戻り値として返されることはありません。 そのため、ソート前の状態も維持しておきたい場合は、あらかじめListの複製を作っておき(ジェネリックコレクション(1) List §.Listの複製)、その後で変更用のListをソートする必要があります。

非破壊的なソートを行いたい場合はEnumerable.OrderByメソッドを使うことができます。

特に順序を指定しない限り、List.Sortメソッドはデフォルトのソート順でソートします。 デフォルトのソート順については基本型とデフォルトのソート順、ソート順の定義については大小関係の定義と比較で解説しています。 逆順でのソートについては§.降順でのソートで後述しています。