【问题标题】:How do I compare two lambda expressions? [duplicate]如何比较两个 lambda 表达式? [复制]
【发布时间】:2012-12-26 17:27:14
【问题描述】:

可能重复:
How to check if two Expression<Func<T, bool>> are the same

我需要比较两个 lambda 表达式,以检查相等性。基本上,以下两个 lambda 是相同的:

Expression<Func<int, bool>> exp1 = (Foo f) => f.Bar().StartsWith("F");
Expression<Func<int, bool>> exp2 = (Foo b) => b.Bar().StartsWith("F");

如何检查exp1 是否与exp2 执行相同的操作?

【问题讨论】:

  • 相等是否意味着语义相同,或者它们都产生相同的结果?
  • 供参考,有一个解决方案link,我用这段代码检查过,效果很好。

标签: c# .net lambda


【解决方案1】:

您可能需要使用 IComparer 或模拟类

查看c-sharp-lambda-expressions-and-icomparercomparing-simple-lambda-expressions

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-08
    • 2015-04-15
    • 1970-01-01
    • 2014-08-28
    • 1970-01-01
    相关资源
    最近更新 更多