回答
表达式树是一个包含表达式的数据结构,它基本上是代码。所以它是一个树形结构,代表您可能在代码中进行的计算。这些代码片段可以通过在一组数据上“运行”表达式树来执行。
关于表达式树的一个好处是可以在代码中构建它们;也就是说,您可以在代码中构建可执行代码(或一系列步骤)。您也可以在执行代码之前通过用其他表达式替换表达式来修改代码。
表达式是一个函数委托,例如(int x => return x * x)
。
又见http://blogs.msdn.com/b/charlie/archive/2008/01/31/expression-tree-basics.aspx
的这不是真的。正如链接文章中指出的那样,表达式树主要用于表示计算结果,这些计算结果将通过网络发送到其他地方执行。为此,他们不包含代码;而不是代码。 – 2016-06-29 05:53:32
表达式树可用于任何要在本地或远程执行的计算。您可以轻松编写一个解析器,将分类器转换为表达式树。我也从来没有说Expression Tree包含代码。 – 2016-07-13 14:10:55
如果“其中包含代码的树结构”不是意味着它们“包含代码”,那么您应该编辑您的答案以使其清楚。您应该明确表示表达式不包含任何IL代码,并且依赖于被进一步转换为可执行文件。 – 2016-07-15 00:23:54
- 1. ObjectSpace - 它是什么以及人们如何使用它?
- 2. SQL,Postgres OID,它们是什么以及它们为什么有用?
- 3. WOFF字体,它们是什么以及为什么要关心?
- 4. 装配需要什么?为什么我们使用它们?
- 5. 什么是API Web服务,您如何创建它们以及为什么?
- 6. 什么是StringIndexer,VectorIndexer以及如何使用它们?
- 7. 什么是断言?你为什么要使用它们?
- 8. 什么是InputStream和输出流?为什么以及何时使用它们?
- 9. 什么是.inc以及为什么要使用它?
- 10. 在tomcat中,什么是catalina_home以及我们为什么使用它?
- 11. 什么是PHP中的Iterables以及我们为什么使用它?
- 12. 字体:什么,何时以及如何使用它们?
- 13. winio64.dll中有什么方法以及如何使用它们
- 14. 什么是持久细分树,我如何使用它们?
- 15. 什么是仿函数,为什么我们需要它们?
- 16. 什么是压缩机模块?他们为什么重要?如何使用它?
- 17. 什么是Autoconf?为什么人们使用它?我应该使用它吗?
- 18. 什么是BigInteger,我们什么时候可以使用它?
- 19. asm(“pause”)做什么以及为什么要使用它
- 20. pixel.gif,为什么人们使用它?
- 21. 接口 - 为什么使用它们?
- 22. 什么是HostProtectionAttribute,我们为什么使用它?
- 23. 什么是私人FrameWorks,我们将如何使用它们?
- 24. 符号常数:它们如何存储以及它们的类型是什么?
- 25. C#Lambda表达式:为什么我应该使用它们?
- 26. 什么是叶证书和子证书用于以及如何使用它们?
- 27. ios sdk中的促销代码是什么?为什么我们使用它们?
- 28. JavaScript中的内存泄漏:它们是什么,如何识别它们以及如何创建它们
- 29. 什么是扩展方法,为什么我们需要使用它?
- 30. MySQL加入?他们是什么?何时使用它们?
可能重复[为什么要使用Expression>而非Func键?](http://stackoverflow.com/questions/793571/why-would-you-use-expressionfunct-而不是功能) –
nawfal
2014-07-07 06:52:34
回答几个例子..http://stackoverflow.com/questions/403088/practical-use-of-expression-trees/20470060#20470060 – Moumit 2016-04-25 11:29:31