List<T>.Sort()
La méthode comporte 3 surcharges.System.Comparison <T> compréhension
L'un d'eux est le suivant
System.Collections.Generic.List<T>.Sort(System.Comparison<T>)
En voyant Comparison<T>
, je pensais que ce devrait être une classe qui est dérivée de Comparison<T>
classe. (Une interprétation habituelle sur les paramètres)
Mais ce qui suit fonctionne très bien et dit d'utiliser la surcharge ci-dessus.
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());
}
Je donne un délégué a fait à une méthode statique à la place de Comparison<T>
. Comment ça marche?
S'il vous plaît ne pas de balises à vos questions » .net2.0 "à moins qu'ils ne soient spécifiques à .NET 2.0. –
Je ne comprends pas pourquoi John Saunders ne voudrait pas que ceci soit étiqueté .NET 2.0, puisque cette question n'est pas applicable à .NET 1.1 ou plus tôt. Et à quelle fréquence quelqu'un a-t-il une question qui ne s'applique qu'à une version de .NET? Habituellement, une question s'applique à une version et à toutes les versions plus récentes. –