Tra*_*ony 10 .net linq dynamic-language-runtime expression-trees turing-complete
因为他们在.Net 3.5.我知道他们在4.0,因为这是DLR的工作方式,但我对我们现在拥有的版本感兴趣.
Jay*_*uzi 21
在C#3.0规范的早期草案中,有关表达树的部分边缘有一条评论说:
我有一个关于图灵完整性的真正奇妙的证据,这个边缘太窄而无法包含.
可悲的是,没有人能够找出谁写了它或开发证据.
LINQ 表达式树可以表示可以放入普通 C# 表达式中的任何内容。因此,它们不能用来直接表示while循环、for循环等。
但是,理论上可以使用 lambda 表达式和递归来执行您可能需要的任何迭代。Enumerable实际上,将方法放入树中可能更容易。