|
6
|
| Jon Egerton Aditya kumar sahoo · 技术社区 · 12 年前 |
|
|
1
7
您可以使用这样一个事实,即表达式树不必只包含简单的常量,它还可以包含访问的属性。因此,您要做的是创建一个访问某个属性值的表达式,每次只更改该属性,而不更改表达式树。 类似于:
这比你的代码快大约500:使用Dennis的测量代码,我得到了以下结果:
|
|
|
2
5
你不能改变表达式树——它们是不可变的。但是,您可以通过创建自己的访问者来替换常量表达式:
用法:
请注意,这会复制现有的树。
此代码:
在我的机器上生成以下结果:
看起来访问者比创建新表达式更快。 |
|
|
A B · C#Excel自动调整列避免长文本时出错 9 月前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 9 月前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 9 月前 |
|
|
Duck0 · 这个对象在更高的帧率下会更快吗,因为它在Update()中? 10 月前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 10 月前 |