6
|
Jon Egerton Aditya kumar sahoo · 技术社区 · 11 年前 |
1
7
您可以使用这样一个事实,即表达式树不必只包含简单的常量,它还可以包含访问的属性。因此,您要做的是创建一个访问某个属性值的表达式,每次只更改该属性,而不更改表达式树。 类似于:
这比你的代码快大约500:使用Dennis的测量代码,我得到了以下结果:
|
2
5
你不能改变表达式树——它们是不可变的。但是,您可以通过创建自己的访问者来替换常量表达式:
用法:
请注意,这会复制现有的树。
此代码:
在我的机器上生成以下结果:
看起来访问者比创建新表达式更快。 |
Imad · Linq扩展方法没有使用Object类的Equals 1 年前 |
user8512043 · 根据每个元素中的数字对列表进行排序 2 年前 |
Nick Fleetwood · 调度语法的LINQ查询 2 年前 |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
Drago · Linq通过比较Id和具有Id的对象列表来查询获取列表 2 年前 |