I did some tests about IList<T>.Aggregate()
, but the answer does not make sense to me.
List<int> Data1 = new List<int> { 1,0,0,0,0};
var result = Data1.Aggregate<int>((total, next) => total + total);
The result is 16
.
I expected it to be 32
.
Can someone explain?
Aggregate
doesn't run its callback for the first element in the list.
Rather, the first element is used as the initial value for the accumulator (total
).
Therefore, your callback only runs four times, not five, and 24 = 16.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With