C# 程序展示 LINQ Aggregate() 方法的用法

csharpserver side programmingprogramming更新于 2025/9/16 11:37:00

Aggregate() 方法是一种功能强大的 LINQ 方法,可让您对元素序列执行缩减操作。此方法可用于对数据集合执行计算,例如查找一组数字的总和、乘积或最大值。在本文中,我们将探讨如何在 C# 程序中使用 Aggregate() 方法。

什么是 Aggregate() 方法?

Aggregate() 方法是一种 LINQ 扩展方法,它采用两个参数:一个种子值和一个对元素序列执行缩减操作的函数。种子值是操作的初始值,函数指定如何将序列中的每个元素与之前的结果组合起来。

Aggregate() 方法的语法

public static TAccumulate Aggregate<TSource, TAccumulate>(this IEnumerable<TSource> source, TAccumulate seed, Func<TAccumulate, TSource, TAccumulate> func)

示例:使用 Aggregate() 方法求数字序列的总和

让我们看一个例子,了解如何使用 Aggregate() 方法求数字序列的总和。

using System.IO;
using System;
using System.Linq;

class Program {
   static void Main(string[] args) {
      int[] numbers = { 1, 2, 3, 4, 5 };
   
      int sum = numbers.Aggregate((x, y) => x + y);
   
      Console.WriteLine("序列的总和为: {0}", sum);
   }
}

在此代码中,我们有一个名为numbers的整数数组。我们使用Aggregate()方法通过传递将两个元素相加的lambda表达式来计算序列的总和。

输出

序列的总和为:15

示例:使用Aggregate()方法查找数字序列的乘积

现在,让我们看一个如何使用Aggregate()方法查找数字序列的乘积的示例。

using System;
using System.Linq;

class Program {
   static void Main() {
      int[] numbers = { 1, 2, 3, 4, 5 };
      int product = numbers.Aggregate(1, (x, y) => x * y);
      Console.WriteLine("序列的乘积为: {0}", product);
   }
}

在此代码中,我们有一个名为numbers的整数数组。我们使用Aggregate()方法通过传递初始值1和将两个元素相乘的lambda表达式来计算序列的乘积。

输出

序列的乘积为:120

结论

Aggregate()方法是一种功能强大的LINQ方法,可用于对元素序列执行归约操作。在本文中,我们探讨了如何在C#程序中使用Aggregate()方法来查找数字序列的和与乘积。


相关文章