예제 #1
0
        //Implementacion de icomparable
        public int CompareTo(object obj)
        {
            //Hacemos type cast con el objeto con el cual nos vamos a comparar
            CRectangulo temp = (CRectangulo)obj;

            if (area > temp.area)
            {
                return(1);
            }
            else if (area < temp.area)
            {
                return(-1);
            }
            else
            {
                return(0);
            }
        }
예제 #2
0
        private static void Main(string[] args)
        {
            CRectangulo[]      rectangulos  = new CRectangulo[5];
            List <CRectangulo> Rectangulos2 = new List <CRectangulo>();

            rectangulos[0] = new CRectangulo(7, 5);
            rectangulos[1] = new CRectangulo(6, 4);
            rectangulos[2] = new CRectangulo(4, 3);
            rectangulos[3] = new CRectangulo(7, 6);
            rectangulos[4] = new CRectangulo(5, 7);

            Rectangulos2 = rectangulos.ToList();

            //Impresion arreglo original
            foreach (CRectangulo rectangulo in rectangulos)
            {
                Console.WriteLine(rectangulo);
            }

            Console.WriteLine("===========");

            //Hacemos uso del sortm el cual necesita la implementacion de icomparable
            Array.Sort(rectangulos);

            //Impresion del rectangulo ordenado
            foreach (CRectangulo rectangulo in rectangulos)
            {
                Console.WriteLine(rectangulo);
            }
            Console.WriteLine("===========");

            Rectangulos2.Sort();
            foreach (CRectangulo rectangulo in Rectangulos2)
            {
                Console.WriteLine(rectangulo);
            }
            Console.Read();
        }