我知道如果我在同一个语句中链接&&或||运算符,c#将停止计算语句并在计算表达式时返回相应的结果,无论以下表达式是什么,结果都不会改变.例如:
var result = false && foo() && bar();
Run Code Online (Sandbox Code Playgroud)
在此语句中,由于第一个表达式为false foo(),bar()因此永远不会执行.我的问题是,Enumerable.Aggregate<TSource,?TAccumulate>当在一个bool列表上运行时会做同样的事情还是会评估所有表达式而不管?例如:
var result = new List<bool>
{
false,
foo(),
bar()
}.Aggregate(true, (acc, x) => acc && x);
Run Code Online (Sandbox Code Playgroud)