LINQ Aggregate()函数

本文概述

  • C#中LINQ聚合函数的语法
  • C#中LINQ聚合函数的语法
在LINQ中, Aggregate()函数用于对列表的每个项目执行操作。 Aggregate()函数对第一个和第二个元素执行操作, 然后结转结果。对于下一个操作, 它将考虑先前的结果和第三个元素, 然后考虑结转, 等等。
C#中LINQ聚合函数的语法
int[] Num = { 1, 2, 3, 4 }; double Average = Num.Aggregate((a, b) => a + b); Console.WriteLine("{0}", Average); //Output 10 ((1+2)+3)+4

在上面的语法中, 我们采用两个元素1和2进行加法并进行3运算, 然后采用上一个结果3和下一个元素3进行相加以将6进行到下一个元素4运算, 结果将为10。
现在, 我们将展示在C#中使用linq Aggregate()函数计算整数数组中所有数字的乘积的示例。
C#中LINQ聚合函数的语法
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp1{class Program{static void Main(string[] args){//here we are creating the array Num type of intint[] Num = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; Console.WriteLine("Product of the element:"); //Now we will calculate the average of the numbers by applying the Aggregate functiondouble Average = Num.Aggregate((a, b) => a * b); Console.WriteLine("Product is {0}", Average); //Output 362880 ((((((((1*2)*3)*4)*5)*6)*7)*8)*9)//reate an array of string of the name charliststring[] charlist = { "a", "b", "c", "d" }; var concat = charlist.Aggregate((a, b) => a + ', ' + b); Console.WriteLine("the Concatenated String: {0}", concat); // Output a, b, c, dConsole.ReadLine(); }}}

在上面的示例中, 有一个整数数组Num。我们计算了给定数组中所有元素的乘积。为此, 我们必须指定一个Lambda表达式。在Lambda表达式中, 我们采用了两个输入参数” a” 和” b” 。在右侧, 我们将输入的参数相乘。现在我们将得到所有数字的乘积。
这些步骤将描述上述示例的功能。
  1. 数组中的第一个元素1被分配给a。第二个元素2被分配给b。
  2. 使用Lambda表达式计算两个元素的乘积。前两个元素(1和2)的结果存储在’ a’ 中。现在b的值为空。
  3. 前两个元素已被使用, lambda将获取第三个元素并将其值分配给b, 该值为null。
  4. 现在, ” a” 包含前两个元素(1和2)的乘积, b包含第三个(3)元素。现在, a和b根据lambda相乘, 结果值存储在a中。现在b设置为null。
  5. 数组中的第四个元素分配给b, 并包含前三个元素的乘积。该过程将一直持续到最后一个元素, 产品最终将显示在控制台上。
以同样的方式, 我们将LINQ中分隔字符串中的项目列表(a, b, c, d)串联在一起。
当我们执行上面的LINQ Aggregate()函数时, 我们将得到如下所示的结果:
【LINQ Aggregate()函数】输出
LINQ Aggregate()函数

文章图片

    推荐阅读