标签: c#
尝试以自定义方式实现List<string>的排序。实现了IComparer<string>接口,并且运行良好。但在使用列表的Sort方法进行更多实验后,我发现这也有效
List<string>
IComparer<string>
Sort
list.Sort((s, s1) => {return s.ToLower().CompareTo(s1.ToLower()); });
但是MSDN文档没有提到在Sort方法中接受委托作为参数,Intellisense也没有显示接受委托的此方法的重载。
所以我想问一下,它是如何运作的?
答案 0 :(得分:4)
您调用了以the overload作为参数的Comparison<T>。
Comparison<T>
Comparison<T>是委托类型,因此您提供的lambda函数恰好适合该法案。