IComparer con mas de dos metodos de ordenacion

02/03/2005 - 12:26 por Desco | Informe spam
Hola Grupo,
tengo un pequeño problema y es que tengo un ArrayList con objetos de una
clase con el interfaz IComparer. Los objetos de dicha lista quiero
ordenarlos no solo de una forma sino de varias.. Hay alguna forma de
indicarlo con el metodo Sort del ArrayList??.. El algoritmo de ordenacion se
indica en el CompareTo, pero hay alguna forma de especificar la existencia
de mas CompareTo ??

Saludos.
Desco.
 

Leer las respuestas

#1 Anonimo
07/03/2005 - 09:24 | Informe spam
Quieto parao, eso es lo que pensaba yo al principio, PERO NO.

Lo que tienes que usar el método Sort(IComparer), que no
tiene es lo mismo que el Sort()

Asi pues, te creas varias clases que implementen la
interfaz IComparer para poder ordenar de varias formas, por
ejemplo:

lista.Sort(new ComparacionNombre())
lista.Sort(new ComparacionNumero())


Una clase que implemente IComparer es algo tan simple como:

public class
OperarioComparacionNombre:System.Collections.IComparer

public int Compare(object uno,object dos)
{
Operario c1=(Operario)uno;
Operario c2=(Operario)dos;

return c1.NombreCompleto.CompareTo(c2.NombreCompleto);
}


Y asi las que se te ocurran..



Hola Grupo,
tengo un pequeño problema y es que tengo un ArrayList con


objetos de una
clase con el interfaz IComparer. Los objetos de dicha


lista quiero
ordenarlos no solo de una forma sino de varias.. Hay


alguna forma de
indicarlo con el metodo Sort del ArrayList??.. El


algoritmo de ordenacion se
indica en el CompareTo, pero hay alguna forma de


especificar la existencia
de mas CompareTo ??

Saludos.
Desco.


.

Preguntas similares