KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
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) } Here the List.sort expects an IComparer<p> as parameter. And it works with the lambda as shown in Line 2. But when I try to do as in Line 1, I get this error: Cannot convert lambda expression to type System.Collections.Generic.IComparer' because it is not a delegate type I investigated this for quite some time but I still don't understand it.Maybe my understanding of IComparer is not quite good.Can somebody give me a hand ?
Tags (comma-separated)
Save Edits
Cancel