static void Main(string[] args) { Console.Title = "Tutorial C# nivel intermedio 6 --- IComparable"; CRectangulo[] rects = new CRectangulo[5]; rects[0] = new CRectangulo(7, 5); rects[1] = new CRectangulo(6, 4); rects[2] = new CRectangulo(4, 3); rects[3] = new CRectangulo(7, 6); rects[4] = new CRectangulo(5, 7); // Imprimimos array original foreach (CRectangulo r in rects) { Console.WriteLine(r); } Console.WriteLine("-------------------------"); // Hacemos uso de sort, el cual necesita la implementación de IComparable Array.Sort(rects); // Imprimimos arreglo ordenado foreach (CRectangulo r in rects) { Console.WriteLine(r); } }
// Implementación de IComparable int IComparable.CompareTo(object obj) { // Hacemos type cast con el objeto con el cual nos vamos a comparar CRectangulo temp = (CRectangulo)obj; // Si somos más grandes que el objeto devolvemos 1 if (Area > temp.Area) { return(1); } // Si somos más pequeños que el objeto devolvemos -1 if (Area < temp.Area) { return(-1); } // Si somos iguales al objeto devuelve 0 return(0); }