是否可以定义 IComparer 的匿名实现?
我相信 Java 允许内联定义匿名类 - C# 允许吗?
查看这段代码,我想定义一个自定义 IComparer
内联
public static IOrderedEnumerable<TSource> OrderBy<TSource, TKey>(
this IEnumerable<TSource> source,
Func<TSource, TKey> keySelector,
IComparer<TKey> comparer
)
最佳答案
如以下评论之一所示,.Net 4.5 允许通过 Comparer<> 类上的静态方法进行此操作,例如根据类中属性的值比较两个对象:
var comparer = Comparer<KilowattSnapshot>.Create(
(k1, k2) => k1.Kilowatt.CompareTo(k2.Kilowatt) );
显然这可以内联使用而不是分配给变量。
关于c# - 匿名 IComparer 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5288963/