Define Comparable Object and Sort them : CompareTo « Data Structure « VB.Net

Home
VB.Net
1.2D
2.Application
3.Class
4.Data Structure
5.Data Types
6.Database ADO.net
7.Development
8.Event
9.File Directory
10.Generics
11.GUI
12.Language Basics
13.LINQ
14.Network Remote
15.Security
16.Thread
17.Windows Presentation Foundation
18.Windows System
19.XML
20.XML LINQ
VB.Net Tutorial
VB.Net by API
VB.Net » Data Structure » CompareToScreenshots 
Define Comparable Object and Sort them
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 ObjectAs 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


           
       
Related examples in the same category
1.Use IComparer to sort by different propertiesUse IComparer to sort by different properties
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.