在C#中,您可以使用LINQ(Language Integrated Query)和Lambda表達式來實現自定義聚合函數
首先,我們需要一個數據集。假設我們有一個Person
類,其中包含Name
和Age
屬性:
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
接下來,我們創建一個List<Person>
作為數據集:
List<Person> people = new List<Person>
{
new Person { Name = "Alice", Age = 30 },
new Person { Name = "Bob", Age = 25 },
new Person { Name = "Charlie", Age = 35 },
new Person { Name = "David", Age = 28 }
};
現在,我們將實現一個自定義聚合函數,該函數計算給定年齡范圍內的人數。我們將使用LINQ和Lambda表達式來實現這個功能:
using System.Linq;
int minAge = 25;
int maxAge = 30;
int count = people.Count(p => p.Age >= minAge && p.Age <= maxAge);
Console.WriteLine($"Number of people between {minAge} and {maxAge}: {count}");
在這個例子中,我們使用了Count
方法,它是一個聚合函數,用于計算滿足條件的元素數量。我們傳遞了一個Lambda表達式p => p.Age >= minAge && p.Age <= maxAge
作為條件,該條件檢查每個Person
對象的Age
屬性是否在指定的范圍內。
運行此代碼將輸出:
Number of people between 25 and 30: 3
這就是如何使用C# LINQ和Lambda表達式實現自定義聚合函數的方法。您可以根據需要修改條件和聚合操作,以滿足您的特定需求。