【发布时间】:2010-03-05 18:21:33
【问题描述】:
只是想知道是否有任何 LINQ 专家能够阐明 Aggregate 和 Any 是如何在幕后工作的。
想象一下,我有一个 IEnumerable,它存储在给定条件下测试数组的结果。我想确定数组的任何元素是否为假。有什么理由我应该更喜欢一个选项吗?
IEnumerable<bool> results = PerformTests();
return results.Any(r => !r); //Option 1
return results.Aggregate((h, t) => h && t); //Option 2
在生产代码中,我倾向于使用 1,因为它更明显,但出于好奇想知道这些在底层的评估方式是否存在差异。
【问题讨论】: