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

时间:2014-03-20 01:43:13

标签: c# expression-trees

我很想知道在想要执行代码时需要将哪些表达式树添加到块表达式。

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

是否有指南,即IEnumerable of Expressions如何执行?它们是按照它们出现在IEnumerable中的顺序执行的吗?

1 个答案:

答案 0 :(得分:2)

表达式树与C#代码的工作方式非常相似:块中的所有语句(由{}分隔)都按顺序执行。所以,这也正是Expression.Block()的评估方式:Expressions集合中的所有表达式都按顺序进行评估。如果你想在块中有ConditionalExpression,那么你不应该将它们直接放入块中(除非你也希望它们在ConditionalExpression之外单独评估)。