什么是表达式树,你如何使用它们,为什么要使用它们?

时间:2012-04-04 06:28:03

标签: c# .net linq expression-trees

我刚刚遇到过多次表达树的概念。我只想了解表达式树及其用途的含义。

如果有人能指导我简单的解释和使用样本,我会很高兴。

1 个答案:

答案 0 :(得分:66)

表达式树是一种包含表达式的数据结构,它基本上是代码。因此,它是一个树结构,表示您可以在代码中进行的计算。然后可以通过在一组数据上“运行”表达式树来执行这些代码片段。

关于表达式树的一个好处是你可以在代码中构建它们;也就是说,您在代码中构建可执行代码(或一系列步骤)。您也可以在执行代码之前修改代码,方法是用其他表达式替换表达式。

然后,表达式是一个函数委托,例如(int x => return x * x)

另见http://blogs.msdn.com/b/charlie/archive/2008/01/31/expression-tree-basics.aspx