Ответ 1
Это будет работать:
var product = vals.Aggregate(1, (acc, val) => acc * val);
Вы начинаете с семени 1
, а затем вызывается функция для каждого из ваших значений с двумя аргументами, acc
, которая является текущим накопленным значением, и val
, которая является значением в массиве; функция умножает текущее накопленное значение на значение в массиве, и результат этого выражения передается как acc
следующей функции. то есть цепочка вызовов функций с предоставленным массивом будет:
(1, 1) => 1
(1, 3) => 3
(3, 5) => 15