Language Basics VB.Net

Imports System
Public Class MainClass
   Shared Dim mBubbleSort As New CDelegateBubbleSort()
   Shared Dim mElementArray As Integer() = New Integer(9) {}
    
    Shared Sub Main(ByVal args As String())
      Dim randomNumber As Random = New Random()
      Dim i As Integer
      Console.WriteLine("Init Value:")
      ' create String with 10 random numbers
      For i = 0 To mElementArray.GetUpperBound(0)
         mElementArray(i) = randomNumber.Next(100)
         Console.WriteLine( mElementArray(i) )
      Next
      mBubbleSort.SortArray(mElementArray, AddressOf SortAscending)
      Console.WriteLine("Sort Ascending")
      For i = 0 To mElementArray.GetUpperBound(0)
         Console.WriteLine( mElementArray(i) )
      Next
      mBubbleSort.SortArray(mElementArray, AddressOf SortDescending)
      Console.WriteLine("Sort Descending")
      For i = 0 To mElementArray.GetUpperBound(0)
         Console.WriteLine( mElementArray(i) )
      Next
    End Sub
   ' delegate implementation sorts in asending order
   Shared Private Function SortAscending(ByVal element1 As Integer, _
      ByVal element2 As Integer) As Boolean
      Return element1 > element2
   End Function ' SortAscending
   ' delegate implementation sorts in descending order
   Shared Private Function SortDescending(ByVal element1 As Integer, _
      ByVal element2 As Integer) As Boolean
      Return element1 < element2
   End Function ' SortDescending
End Class
Public Class CDelegateBubbleSort
   Public Delegate Function Comparator( _
      ByVal element1 As Integer, _
      ByVal element2 As Integer) As Boolean
   Public Sub SortArray(ByVal array As Integer(), _
      ByVal Compare As Comparator)
      Dim i, pass As Integer
      For pass = 0 To array.GetUpperBound(0)
         For i = 0 To array.GetUpperBound(0) - 1
            If Compare(array(i), array(i + 1)) Then
               Swap(array(i), array(i + 1))
            End If
         Next
      Next
   End Sub
   Private Sub Swap(ByRef firstElement As Integer, _
      ByRef secondElement As Integer)
      Dim hold As Integer
      hold = firstElement
      firstElement = secondElement
      secondElement = hold
   End Sub ' Swap
End Class