IComparable
La función de IComparable es proporcionar un
método para comparar dos objetos de un tipo determinado. Esto es necesario si
desea proporcionar alguna capacidad de ordenación para el objeto. Piense IComparable como
proporcionar un criterio de ordenación predeterminado para los objetos. Por
ejemplo, si tiene una matriz de objetos de su tipo, y se llama al método Sort en
dicha matriz, IComparable proporciona la comparación de objetos
durante la ordenación. Cuando implemente la interfaz IComparable ,
debe implementar el método CompareTo , como sigue:
// Implement IComparable CompareTo method - provide default sort order.int IComparable.CompareTo(object obj)
{
car c=(car)obj;
return String.Compare(this.make,c.make);
}
La comparación en el método es diferente según el tipo
de datos del valor que se va a comparar. String.Compare se utiliza en
este ejemplo, debido a que se ha elegido para la comparación una cadena.
DEMOSTRACIÓN
En Visual Studio vamos a dar click en menú File à New à Project
Seleccionamos la opción ‘Console Application’ y colocamos como nombre ‘DemoAppIComparable’ y damo click en el botón OK
Nótese que se agrega nuestro proyecto al navegador de soluciones
En el archivo ‘Program.cs’ del proyecto que acabamos de crear, le damos doble click en él, y procedemos a escribir la clase Persona que va a implementar una interface IComparable debajo del método Main().
Debajo de estas líneas vamos a definir los operadores de comparación dentro de nuestra clase tal y como indicamos previamente.
Ahora procederemos a realizar una aplicación de consola para revisar los conceptos aprendidos dentro del método Main().
Ejecutamos
La salida del programa sería la siguiente