Implements IComparer : IComparer « System.Collections « VB.Net by API

Home
VB.Net by API
1.Microsoft.VisualBasic
2.Microsoft.Win32
3.System
4.System.Collections
5.System.Collections.Generic
6.System.Collections.Specialized
7.System.ComponentModel
8.System.Configuration.ConfigurationSettings
9.System.Data
10.System.Data.Odbc
11.System.Data.OleDb
12.System.Data.OracleClient
13.System.Data.SqlClient
14.System.Diagnostics
15.System.Drawing
16.System.Drawing.Drawing2D
17.System.Drawing.Imaging
18.System.Drawing.Printing
19.System.Drawing.Text
20.System.Globalization
21.System.IO
22.System.IO.IsolatedStorage
23.System.IO.Ports
24.System.Media
25.System.Messaging
26.System.Net
27.System.Net.Sockets
28.System.Reflection
29.System.Runtime.InteropServices
30.System.Runtime.Remoting.Channels
31.System.Runtime.Serialization
32.System.Runtime.Serialization.Formatters.Binary
33.System.Runtime.Serialization.Formatters.Soap
34.System.Security.Cryptography
35.System.Security.Cryptography.X509Certificates
36.System.Security.Permissions
37.System.Security.Principal
38.System.ServiceProcess
39.System.Text
40.System.Text.RegularExpressions
41.System.Threading
42.System.Web
43.System.Web.Mail
44.System.Windows.Forms
45.System.Xml
46.System.Xml.Schema
47.System.Xml.Serialization
48.System.Xml.Xsl
VB.Net
VB.Net Tutorial
VB.Net by API » System.Collections » IComparer 
Implements IComparer
  

Imports System
Imports System.Collections


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)
    
    Console.WriteLine("Sort by Salary")
    
    Dim SortingByName As SortByName = New SortByName()

    Dim aEmployee As Employee


    For Each aEmployee In theEmployees
      Console.WriteLine(aEmployee.TheName & " has yearly salary $" & FormatNumber(aEmployee.Salary))
    Next

    Console.WriteLine("Sort by Name")

    Array.Sort(theEmployees, SortingByName)
    
    
    For Each aEmployee In theEmployees
      Console.WriteLine(aEmployee.TheName & " has yearly salary $" & FormatNumber(aEmployee.Salary))
    Next
  End Sub
End Class


Public Class SortByName
  Implements IComparer
  Public Function CompareTo(ByVal firstEmp As Object, ByVal _
  secondEmp As ObjectAs Integer Implements IComparer.Compare
    Dim temp1 As Employee = CType(firstEmp, Employee)
    Dim temp2 As Employee = CType(secondEmp, Employee)
    Return String.Compare(temp1.TheName, temp2.TheName)
  End Function
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
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.