Enumerable.Aggregate 方法用于将一个序列中的所有元素通过指定的累加器函数进行聚合,从而返回一个单一的结果。该方法接受两个参数:累加器函数和可选的初始值。累加器函数接受两个参数,第一个参数表示当前的累加器值,第二个参数表示当前序列中的一个元素,返回值表示累加器的新值。初始值表示累加器的初始值,如果序列为空,则该值作为结果返回。

例如,可以使用 Aggregate 方法将一个整数序列中的所有元素相加:

int[] numbers = { 1, 2, 3, 4, 5 };
int sum = numbers.Aggregate((x, y) => x + y);
Console.WriteLine(sum); // 输出15

在上面的示例中,累加器函数是一个 lambda 表达式,它将前一个元素和当前元素相加,初始值为序列中的第一个元素。该方法将从第二个元素开始遍历序列,并将每个元素传递给累加器函数,最终返回所有元素的总和。

除了求和,Aggregate 方法还可以用于执行其他类型的聚合操作,例如求最大值、最小值、平均值等。

例如,可以使用 Aggregate 方法计算一个整数序列中的最大值:

int[] numbers = { 1, 2, 3, 4, 5 };
int max = numbers.Aggregate((x, y) => x > y ? x : y);
Console.WriteLine(max); // 输出 5

在这个示例中,累加器函数比较前一个元素和当前元素,返回较大的那个。

Aggregate 方法是一个强大且灵活的工具,可以用于各种聚合操作。它可以简化代码,并提高代码的可读性。

C# Enumerable.Aggregate 方法:高效的序列聚合操作

原文地址: https://www.cveoy.top/t/topic/fVPT 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录