在我重新发明轮子之前,是否有一些从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)
);