|
|
1
5
|
|
|
2
6
表达式树允许程序在运行时以简化的方式操作自己实现的一部分。它们允许将表达式作为其结构的表示形式传递,而不仅仅是可以调用的委托。
C/.NET之前的语言支持这种操作…最好的例子就是Lisp。在程序的数据结构中表示程序结构的能力称为 homoiconicity . C支持表达树形式的同像性的有限性。C语言允许从代码中的(子集)表达式透明地创建表达式树。例如:
变量
使用表达式树来解决一个非常重要的问题的最佳示例是linq to sql,其中
表达式树还可以即时生成C代码,因为表达式树可以编译成lambda。举个例子:
上面的代码段创建了一个表达式,用于比较
MSDN 可能是你目前最好的选择。 |