我正在学习 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
关于c# - 使用 LINQ 计算乘积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/252333/