我对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
。
有人可以解释一下吗?
答案 0 :(得分:21)
Aggregate
不会为列表中的第一个元素运行其回调。
相反,第一个元素用作累加器的初始值(total
)
因此,您的回调只运行四次,而不是五次,2 4 = 16。