我对 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
。
有人能解释一下吗?
我对 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。