在我重新发明轮子之前,是否有一些从IComparer<T>创建Func<T,T,int>的框架方法?

编辑

IIRC(已经有一段时间了)Java支持匿名接口(interface)实现。这样的构造是否存在于C#中,还是代表被认为是一个完整的替代方案?

最佳答案

在即将发布的.NET4.5(Visual Studio 2012)中,可以使用静态工厂方法Comparer<>.Create将此设置为。例如

IComparer<Person> comp = Comparer<Person>.Create(
    (p1, p2) => p1.Age.CompareTo(p2.Age)
    );

10-08 03:36