/ c#

UTILIZAR EL MÉTODO SORT() Y LA INTERFAZ GENÉRICA ICOMPARABLE PARA ORDENAR OBJETOS EN UNA LISTA.

Saludos compañeros, muchas veces cuando se necesita ordenar una lista con objetos se recurre a métodos en los cuales gastamos muchas lineas de código. Con las listas genéricas podemos solventar este problema ya que cuentan con el método Sort() que esta optimizado por el CLR.

El método Sort()

Primero verifica si el tipo contenido en la lista generica utiliza el comparador predeterminado Comparer, en caso de que no exista busca la implementación de la interfaz genérica IComparable  y si estas no se encuentra verifica si la interfaz IComparable es implementada, si ninguna de las anteriores interfaces es encontrada se muestra una InvalidOperationException.

exception

Interfaz IComparable

Define un método de comparación generalizado, implementado por un tipo de valor o clase con el fin de crear un método de comparación específico del tipo para ordenar instancias (msdn).

El método a implementar por la interfaz es CompareTo.

La clase Persona con la Interfaz implementada se vera como a continuación se muestra:

persona

Donde se hace la comparación del objeto actual con el que es solicitado por el método.

La clase PersonaLista hereda de List,  en su constructor se agregan las personas que serán ordenadas por medio de su método Sort().

personalista

Por último se instancia un objeto de PersonaLista y se utiliza el método Sort() el cual ordenará de forma transparente los  elementos de la lista, además de mostrarlos antes y después.

program1

El resultado sería el siguiente:

resultado

sin nada mas que agregar me despido hasta la próxima entrada. Saludos