C#程式:演示LINQ Aggregate()方法的用法


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("The sum of the sequence is: {0}", sum);
   }
}

在此程式碼中,我們有一個名為 numbers 的整數陣列。我們使用 Aggregate() 方法透過傳遞一個將兩個元素加在一起的 lambda 表示式來計算序列的總和。

輸出

The sum of the sequence is: 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("The product of the sequence is: {0}", product);
   }
}

在此程式碼中,我們有一個名為 numbers 的整數陣列。我們使用 Aggregate() 方法透過傳遞初始值為 1 和一個將兩個元素相乘的 lambda 表示式來計算序列的乘積。

輸出

The product of the sequence is: 120

結論

Aggregate() 方法是一個強大的 LINQ 方法,可用於對元素序列執行歸約操作。在本文中,我們探討了如何在 C# 程式中使用 Aggregate() 方法來查詢數字序列的總和和乘積。

更新於:2023年5月4日

瀏覽量:176

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告