c# - 匿名 IComparer 实现

标签 c#

是否可以定义 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/

相关文章:

javascript - 尝试在 ember.js 中 self 引用模型时出错

c# - .PDB 文件未生成

c# - Asp.Net 捆绑不使用 .min 文件

c# - 如何声明一个以元组列表作为参数的 f# 方法?

c# - Java Comparator 重写 C# 中的等价物

c# - 如何将表(DataTable)保存到数据库中的单个单元格中?

c# - 对于 C# 任务,在检查 .Result 之前是否需要 Wait()?

c# - 如何从实体类型查找 NHibernate 实体的表映射?

c# - Crystal 报告 SetDataSource 中的错误

c# - Razor 退出代码块