Implement IComparable : Compare « Collections Data Structure « C# / C Sharp






Implement IComparable

Implement IComparable
/*
C#: The Complete Reference 
by Herbert Schildt 

Publisher: Osborne/McGraw-Hill (March 8, 2002)
ISBN: 0072134852
*/

// Implement IComparable. 
 
using System; 
using System.Collections; 
 
class Inventory : IComparable { 
  string name; 
  double cost; 
  int onhand; 
 
  public Inventory(string n, double c, int h) { 
    name = n; 
    cost = c; 
    onhand = h; 
  } 
 
  public override string ToString() { 
    return 
      String.Format("{0,-10}Cost: {1,6:C}  On hand: {2}", 
                    name, cost, onhand); 
  } 
 
  // Implement the IComparable interface. 
  public int CompareTo(object obj) { 
    Inventory b; 
    b = (Inventory) obj; 
    return name.CompareTo(b.name); 
  } 
} 
 
public class IComparableDemo { 
  public static void Main() { 
    ArrayList inv = new ArrayList(); 
     
    // Add elements to the list 
    inv.Add(new Inventory("Pliers", 5.95, 3)); 
    inv.Add(new Inventory("Wrenches", 8.29, 2));    
    inv.Add(new Inventory("Hammers", 3.50, 4)); 
    inv.Add(new Inventory("Drills", 19.88, 8)); 
 
    Console.WriteLine("Inventory list before sorting:"); 
    foreach(Inventory i in inv) { 
      Console.WriteLine("   " + i); 
    } 
    Console.WriteLine(); 
 
    // Sort the list. 
    inv.Sort(); 
 
    Console.WriteLine("Inventory list after sorting:"); 
    foreach(Inventory i in inv) { 
      Console.WriteLine("   " + i); 
    } 
  } 
}


           
       








Related examples in the same category

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