【发布时间】: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,我用这段代码检查过,效果很好。