c# - 使用 LINQ 计算乘积

标签 c# 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

关于c# - 使用 LINQ 计算乘积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/252333/

相关文章:

c# - 使用 Linq 仅从集合中选择子类

c# - 来自数据库的图像显示在 PicutreBox 中,使用 LINQ 查询

c# - MemoryStream 写入时出现 OutOfMemoryException

c# - 如何像很多游戏一样快速发送信息?

c# - 将对象作为值传递 C#

c# - 如何在 C# 或 Linq 中比较大于或小于运算符值的两个字节数组?

c# - 在 Linq 中按问题分组

c# - 输入字符串的格式不正确

c# - 将标量从 SQL Server 返回到 C#

c# - EF Core ChangeTracker() 当前值和原始值对于修改后的实体是相同的