Sorting and Searching:Implementing IComparable : Compare « Collections Data Structure « C# / C Sharp






Sorting and Searching:Implementing IComparable

Sorting and Searching:Implementing IComparable

using System;

public class ImplementingIComparable {
    public static void Main()
    {
        Employee[] arr = new Employee[4];
        arr[0] = new Employee("A", 1);
        arr[1] = new Employee("B", 2);
        arr[2] = new Employee("C", 4);
        arr[3] = new Employee("D", 3);
        
        Array.Sort(arr);
        foreach (Employee emp in arr)
        Console.WriteLine("Employee: {0}", emp);
        
        // Find employee id 2 in the list;
        Employee employeeToFind = new Employee(null, 2);
        int index = Array.BinarySearch(arr, employeeToFind);
        if (index != -1)
        Console.WriteLine("Found: {0}", arr[index]);    
    }
}
public class Employee: IComparable
{
    public Employee(string name, int id)
    {
        this.name = name;
        this.id = id;
    }
    
    int IComparable.CompareTo(object obj)
    {
        Employee emp2 = (Employee) obj;
        if (this.id > emp2.id)
        return(1);
        if (this.id < emp2.id)
        return(-1);
        else
        return(0);
    }
    
    public override string ToString()
    {
        return(String.Format("{0}:{1}", name, id));
    }
    
    string    name;
    int    id;
}


           
       








Related examples in the same category

1.implements the IComparable interfaceimplements the IComparable interface
2.Use IComparerUse IComparer
3.Implement IComparableImplement IComparable
4.Sorting and Searching:Advanced Use of HashesSorting and Searching:Advanced Use of Hashes
5.Sorting and Searching:Using IComparerSorting and Searching:Using IComparer
6.Sorting and Searching:IComparer as a PropertySorting and Searching:IComparer as a Property