我正在学习LINQ并且有一个非常简单的问题,我认为这将有助于我更好地理解技术。如何找到一组整数的乘积?
例如,LINQ的方法是什么:
int[] vals = { 1, 3, 5 };
return vals[0] * vals[1] * vals[2];
答案 0 :(得分:29)
这样可行:
var product = vals.Aggregate(1, (acc, val) => acc * val);
您从种子1
开始,然后使用两个参数调用每个值的函数,acc
是当前累计值,val
是数组中的值;该函数将当前累计值乘以数组中的值,该表达式的结果将作为acc
传递给下一个函数。即,您提供的数组的函数调用链将是:
(1, 1) => 1
(1, 3) => 3
(3, 5) => 15