Sort
List
A VB.NET List
can be sorted. 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.
Instead of using String
instances in your List
, you can use other types such as Integer or even Class
types. All of these things can be sorted, but a lambda argument may be needed.
Sort
with lambdaHere, 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 2 String
parameters.
CompareTo
on the Length
properties of the String
parameters.List
is sorted in ascending order by the lengths of its strings, from shortest to longest.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 Modulenile indus danube mississippi
This example 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.
List
—the strings are now in alphabetical order.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 Moduleangler tuna velvetfish
Reverse
List
The Reverse
subroutine inverts the order of the elements in the List
from their original order. It does no sorting. As with Sort
, you do not need to assign anything to the result.
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 Moduleviperfish bass barracuda anchovy
We can sort the elements in a List
using the parameterless Sort
subroutine and also with a lambda expression. It is possible to Reverse
the order of the elements in your List
.