使用LINQ计算产品

时间:2008-10-31 01:13:11

标签: c# linq

我正在学习LINQ并且有一个非常简单的问题,我认为这将有助于我更好地理解技术。如何找到一组整数的乘积?

例如,LINQ的方法是什么:

int[] vals = { 1, 3, 5 };
return vals[0] * vals[1] * vals[2];

1 个答案:

答案 0 :(得分:29)

这样可行:

var product = vals.Aggregate(1, (acc, val) => acc * val);

您从种子1开始,然后使用两个参数调用每个值的函数,acc是当前累计值,val是数组中的值;该函数将当前累计值乘以数组中的值,该表达式的结果将作为acc传递给下一个函数。即,您提供的数组的函数调用链将是:

(1, 1) => 1
(1, 3) => 3
(3, 5) => 15