使用LINQ计算产品
问题描述:
我正在学习LINQ,并且有一个非常简单的问题,我认为这将有助于我更好地理解该技术。我怎样才能找到一个int数组的产品?使用LINQ计算产品
例如,什么是LINQ的方式来做到:
int[] vals = { 1, 3, 5 };
return vals[0] * vals[1] * vals[2];
答
这会工作:
var product = vals.Aggregate(1, (acc, val) => acc * val);
你开始与1
种子,然后调用该函数的每个您的值有两个参数,acc
是当前累计值,val
是数组中的值;该函数将当前累加值乘以数组中的值,并将该表达式的结果作为acc
传递给下一个函数。即您提供的阵列的函数调用链将为:
(1, 1) => 1
(1, 3) => 3
(3, 5) => 15
+1。建议使用int而不是var。 – 2008-10-31 14:17:51