Подтвердить что ты не робот

Muliplying все значения в IEnumerable <int>

У меня есть следующий код, и я пытаюсь выяснить, как умножить все значения в моем IEnumerable.

Я думал, что там может быть метод Multiply, подобный Sum. Я думаю, я мог бы сделать foreach над каждым элементом, но в наши дни это кажется утомительным.

Любые предложения?

//1:2:6
string[] pkgratio = comboBox1.SelectedRow.Cells["PkgRatio"].Value.ToString().Split(':');
var ints = pkgratio.Select(x => int.Parse(x));         

int modvalue = ints....
4b9b3361

Ответ 1

То, что вы ищете, это функция Aggregate

int modValue = ints.Aggregate(1, (x,y) => x * y);

Функция Aggregate принимает начальное значение аккумулятора и затем применяет операцию к каждому значению в перечислении, создавая новое значение аккумулятора. Здесь мы начинаем с 1, а затем умножаем значение на текущее значение аккумулятора.

Примечание. В случае пустого значения ints это вернет 1. Это может быть или не быть правильным для вашей ситуации.