温馨提示×

如何用C# LINQ和Lambda实现自定义聚合函数

c#
小樊
81
2024-09-15 00:11:50
栏目: 编程语言

在C#中,您可以使用LINQ(Language Integrated Query)和Lambda表达式来实现自定义聚合函数

首先,我们需要一个数据集。假设我们有一个Person类,其中包含NameAge属性:

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表达式实现自定义聚合函数的方法。您可以根据需要修改条件和聚合操作,以满足您的特定需求。

0