要在块表达式中包含哪些表达式树

本文关键字:表达式 包含哪 | 更新日期: 2023-09-27 17:50:58

我很困惑,当想要执行代码时,需要将哪些表达式树添加到块表达式中。

例如,如果我有一个ConditionalExpression,它有一个IsTrue和IsFalse的引用。我是否需要包含IsTrue和IsFalse的表达式?或者仅仅是条件表达式?

是否有一个准则,即如何IEnumerable表达式得到执行?它们是否按照它们在IEnumerable中出现的顺序执行?

要在块表达式中包含哪些表达式树

表达式树的工作原理与c#代码非常相似:在块内(由{}分隔)的所有语句按顺序执行。这就是Expression.Block()的求值方式:Expressions集合中的所有表达式都是按顺序求值的。如果您希望在块中有一个ConditionalExpression,那么您不应该将它们直接放入块中(除非您还希望它们在ConditionalExpression之外单独求值)。