sma*_*man 11 c# linq lambda expression linq-expressions
我正在考虑使用Linq Expression作为字典中的键.但是,我担心我会得到奇怪的结果,因为我不知道Linq表达式如何确定Equality.
派生自Expression的类是否比较值相等或引用相等?或者换句话说,
Expression<Func<object>> first = () => new object();
Expression<Func<object>> second = ()=>new object();
bool AreTheyEqual = first == second;
Run Code Online (Sandbox Code Playgroud)
Mar*_*ell 11
您的测试比较表达式.表达本身只提供参考平等; 你的测试可能会显示"假".为了获得语义上的平等,你需要做很多工作,例如:
x => 123
Run Code Online (Sandbox Code Playgroud)
和
y => 123
Run Code Online (Sandbox Code Playgroud)
当量?作为原始测试,您可以比较ToString(),但这将非常脆弱.
| 归档时间: |
|
| 查看次数: |
2049 次 |
| 最近记录: |