他们是在.Net 3.5中。我知道它们也在4.0中,因为DLR与之配合使用,但我对我们现在拥有的版本感兴趣。
他们是在.Net 3.5中。我知道它们也在4.0中,因为DLR与之配合使用,但我对我们现在拥有的版本感兴趣。
如果没有定义执行树的对象,我们就不知道它们是什么。在CLR(公共语言运行库)的解释中(当您将它们编译为委托时),它们是确定的。但是,如果将它们翻译成SQL,它们就不是确定的,您可以使用任何属性来发明自己混淆的解释。
在您决定如何解释它们之前,它们只是数据结构。
为什么不试着去证明它呢?我敢打赌这会是一个有趣的挑战 ;)
但表达式树只表示一个表达式,因此您必须定义允许进行的操作,如Earwicker所述。
如果您允许表达式树使用递归,则可以实现重复,即for循环等。
然而,未经类型化的λ演算是图灵完备的(turing_completeness#Examples),但λ演算本身不允许递归(Lambda_calculus#Recursion),这一切都非常棘手。
我认为表达式可能是图灵完备的,但需要更熟悉此方面的人来确认。