我做了一些关于 IList<T>.Aggregate()
的测试,但答案对我来说没有意义。
List<int> Data1 = new List<int> { 1,0,0,0,0};
var result = Data1.Aggregate<int>((total, next) => total + total);
结果是16
.
我预计它会是 32
.
谁能解释一下?
最佳答案
Aggregate
不会对列表中的第一个元素运行回调。
相反,第一个元素用作累加器的初始值 (total
)。
因此,您的回调仅运行四次,而不是五次,并且 24 = 16。
关于C# 关于 IEnumerable<T>.Aggregate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6064354/