Class Module VB.Net Tutorial

Imports System
Module MyModule
  Sub Main()
    Dim salaries(4) As Salary
    salaries(0) = New Salary(9)
    salaries(1) = New Salary(4)
    salaries(2) = New Salary(8)
    salaries(3) = salaries(2)
    salaries(4) = New Salary(6)
    Console.WriteLine("Unsorted array:")
    Dim salary As Salary
    For Each salary In salaries
      Console.WriteLine("{0}", salary)
    Next
    Array.Sort(salaries)
    Console.WriteLine(vbCrLf & "Sorted array:")
    For Each salary In salaries
      Console.WriteLine("{0}", salary)
    Next
  End Sub
End Module
Structure Salary
  Implements IComparable
  Private value As Integer
  Public Sub New(ByVal amount As Double)
    Me.value = CInt(amount * 100)
  End Sub
  Public Function CompareTo(ByVal other As Object) As Integer Implements IComparable.CompareTo
    Dim m2 As Salary = CType(other, Salary)
    If Me.value < m2.value Then
      Return -1
    ElseIf Me.value = m2.value Then
      Return 0
    Else
      Return +1
    End If
  End Function
  Public Overrides Function ToString() As String
    Return Me.value
  End Function
End Structure
Unsorted array:
900
400
800
600
Sorted array:
400
600
800
900