List<T>.Sort()
método tiene 3 sobrecargas.System.Comparison <T> comprensión
Uno de ellos es el siguiente
System.Collections.Generic.List<T>.Sort(System.Comparison<T>)
Al ver Comparison<T>
, pensé que debería ser una clase que se deriva de Comparison<T>
clase. (Una interpretación habitual de los parámetros)
Pero lo siguiente funciona muy bien y se dice que está utilizando la sobrecarga anterior.
public static void Main(string[] args)
{
List<Int32> collection = new List<Int32>();
collection.Add(20);
collection.Add(270);
collection.Add(30);
collection.Add(90);
collection.Add(40);
collection.Add(18);
collection.Add(100);
collection.Sort(MyComparer.CompareWithCase);
foreach (Int32 s in collection)
Console.WriteLine(s);
}
public static int CompareWithCase(int i1, int i2)
{
return i1.ToString().CompareTo(i2.ToString());
}
me hicieron dar un delegado a un método estático en lugar de Comparison<T>
. ¿Cómo funciona?
por favor no etiquetar a tus preguntas" .net2.0 "a menos que sean específicos de .NET 2.0. –
No entiendo por qué John Saunders no quiere que esto sea etiquetado como .NET 2.0, ya que esta pregunta no es aplicable a .NET 1.1 o anterior. Y con qué frecuencia alguien tiene una pregunta que solo se aplica a una versión de .NET. Por lo general, una pregunta se aplica a una versión y a todas las versiones más recientes. –