使用LINQ计算产品

我正在学习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