只是想知道是否有任何LINQ大师可能能够阐明Aggregate和Any如何在幕后工作.
想象一下,我有一个IEnumerable,它存储测试给定条件的数组的结果.我想确定数组的任何元素是否为false.有什么理由我更喜欢一种选择吗?
IEnumerable<bool> results = PerformTests();
return results.Any(r => !r); //Option 1
return results.Aggregate((h, t) => h && t); //Option 2
Run Code Online (Sandbox Code Playgroud)
在生产代码中,我倾向于1,因为它更加明显,但出于好奇,我们想知道这些内容的评估方式是否存在差异.