structure implements interface : Structure « 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
800
600

Sorted array:
400
600
800
800
900








6.46.Structure
6.46.1.Structure
6.46.2.Define and use Structure
6.46.3.Define and use structure with modifier
6.46.4.Define Structure
6.46.5.By value or by reference
6.46.6.Use Structure as Function parameter
6.46.7.Use With and Structure
6.46.8.Class Vs Structure in ByValue and ByRef
6.46.9.structure implements interface