IComparer utilisant Lambda Expression

 class p {
     public string Name { get; set; }
     public int Age { get; set; }
 };

 static List<p> ll = new List<p>
 {
     new p{Name="Jabc",Age=53},new p{Name="Mdef",Age=20},
     new p{Name="Exab",Age=45},new p{Name="G123",Age=19}
 };
 protected static void SortList()
 {
     IComparer<p> mycomp = (x, y) => x.Name.CompareTo(y.Name);  <==(Line 1)
     ll.Sort((x, y) => x.Name.CompareTo(y.Name));<==(Line 2)
 }

Ici la Liste.le tri s'attend à une IComparer<p> comme paramètre. Et il fonctionne avec le lambda
comme indiqué à la Ligne 2. Mais quand j'ai essayer de faire comme dans la Ligne 1, j'obtiens cette erreur:

Ne peut pas convertir expression lambda pour
type
Système.Les Collections.Génériques.IComparer'
parce qu'il n'est pas un type délégué

J'ai étudié cela fait déjà quelques temps mais je ne comprends toujours pas.Peut-être que ma compréhension de IComparer est pas assez bonne.Quelqu'un peut-il me donner un coup de main ?

source d'informationauteur josephj1989