可能重复:
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
做同样的事情?
答案 0 :(得分:3)
您可能需要使用IComparer或模拟类
查看c-sharp-lambda-expressions-and-icomparer和comparing-simple-lambda-expressions