我很想知道在想要执行代码时需要将哪些表达式树添加到块表达式。
例如,如果我有ConditionalExpression,它具有对IsTrue和IsFalse的引用。我是否需要包含IsTrue和IsFalse的表达式。或只是条件表达?
是否有指南,即IEnumerable of Expressions如何执行?它们是按照它们出现在IEnumerable中的顺序执行的吗?
答案 0 :(得分:2)
表达式树与C#代码的工作方式非常相似:块中的所有语句(由{}
分隔)都按顺序执行。所以,这也正是Expression.Block()
的评估方式:Expressions
集合中的所有表达式都按顺序进行评估。如果你想在块中有ConditionalExpression
,那么你不应该将它们直接放入块中(除非你也希望它们在ConditionalExpression
之外单独评估)。