
You want to sort your List in your VB.NET program. The List type has a useful subroutine called Sort that will sort your List either by a default sorting order or with a custom one.
These VB example programs show the Sort Function on the List type. They demonstrate Reverse.

This example first creates a List of three String instances. Then, it invokes the Sort subroutine. This subroutine does not return a value; instead, it changes the List to be sorted. Finally, we loop through the sorted List. The strings are now in alphabetical order.
Program that uses Sort function on List [VB.NET]
Module Module1
Sub Main()
Dim l As List(Of String) = New List(Of String)
l.Add("tuna")
l.Add("velvetfish")
l.Add("angler")
' Sort alphabetically.
l.Sort()
For Each element As String In l
Console.WriteLine(element)
Next
End Sub
End Module
Output
angler
tuna
velvetfish
The Reverse subroutine is very similar in some ways to the Sort subroutine. It simply inverts the order of the elements in the List from their original order. It does not do any sorting. As with Sort, you do not need to assign anything to the result of Reverse.
Program that uses Reverse function [VB.NET]
Module Module1
Sub Main()
Dim l As List(Of String) = New List(Of String)
l.Add("anchovy")
l.Add("barracuda")
l.Add("bass")
l.Add("viperfish")
' Reverse list.
l.Reverse()
For Each element As String In l
Console.WriteLine(element)
Next
End Sub
End Module
Output
viperfish
bass
barracuda
anchovyThis is the most advanced example on this page. Here, we create a List of strings, and then call Sort with a lambda expression argument. Our lambda expression begins with the Function keyword and receives two String parameters. Next, it returns the result of CompareTo on the Length properties of the String parameters. This means the List is sorted by the lengths of its strings, from shortest to longest.
Lambda ExpressionProgram that uses Sort function with lambda [VB.NET]
Module Module1
Sub Main()
Dim l As List(Of String) = New List(Of String)
l.Add("mississippi")
l.Add("indus")
l.Add("danube")
l.Add("nile")
' Sort using lambda expression.
l.Sort(Function(elementA As String, elementB As String)
Return elementA.Length.CompareTo(elementB.Length)
End Function)
For Each element As String In l
Console.WriteLine(element)
Next
End Sub
End Module
Output
nile
indus
danube
mississippi
This article showed how you can sort the elements in a List using the parameterless Sort subroutine and also with a lambda expression. We also saw how you can Reverse the order of the elements in your List. Instead of using String instances in your List, you can use other types such as Integer or even Class types.
VB.NET Tutorials