Mega Code Archive

 
Categories / VB.Net / Data Structure
 

Define Comparable Object and Sort them

Imports System Public Class MainClass   Shared Sub Main()     Dim e1 As New Employee("E1", 50000)     Dim e2 As New Employee("E2", 60000)     Dim e3 As New Employee("E3", 20000)     Dim e4 As New Employee("E4", 1)     Dim theEmployees() As Employee = {e1, e2, e3, e4}          Array.Sort(theEmployees) 'call the CompareTo           Dim aEmployee As Employee     For Each aEmployee In theEmployees       Console.WriteLine(aEmployee.TheName & " has yearly salary $" & FormatNumber(aEmployee.Salary))     Next   End Sub End Class Public Class Employee   Implements IComparable   Private m_Name As String   Private m_Salary As Decimal   Public Sub New(ByVal theName As String, ByVal curSalary As Decimal)     m_Name = TheName     m_Salary = curSalary   End Sub   Public Function CompareTo(ByVal AnEmployee As Object) As Integer _   Implements IComparable.CompareTo     If CType(AnEmployee, Employee).Salary < Me.Salary Then       Return -1     ElseIf CType(AnEmployee, Employee).Salary = Me.Salary Then       Return 0     ElseIf CType(AnEmployee, Employee).Salary > Me.Salary Then       Return 1     End If   End Function   Public ReadOnly Property TheName() As String     Get       Return m_Name     End Get   End Property   Public ReadOnly Property Salary() As Decimal     Get       Return MyClass.m_Salary     End Get   End Property End Class