legongju.com
我们一直在努力
2025-01-11 23:42 | 星期六

c#的group操作与聚合函数的结合使用

在C#中,我们可以使用LINQ(Language Integrated Query)查询来实现对集合的分组(group)操作以及聚合函数(如Sum、Average、Min、Max等)的结合使用

首先,假设我们有一个Person类,如下所示:

public class Person
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int Age { get; set; }
}

接下来,我们创建一个List来存储一些示例数据:

var people = new List
{
    new Person { Id = 1, Name = "Alice", Age = 30 },
    new Person { Id = 2, Name = "Bob", Age = 25 },
    new Person { Id = 3, Name = "Charlie", Age = 35 },
    new Person { Id = 4, Name = "David", Age = 28 },
    new Person { Id = 5, Name = "Eva", Age = 32 },
};

现在,我们想要根据年龄对这些人进行分组,并计算每个年龄组的总年龄。我们可以使用LINQ查询和聚合函数结合GroupBy方法来实现这个需求:

var ageGroupResult = people
    .GroupBy(p => p.Age)
    .Select(g => new
    {
        AgeGroup = g.Key,
        TotalAge = g.Sum(p => p.Age)
    })
    .ToList();

在这个查询中,我们首先使用GroupBy方法根据年龄对people列表进行分组。然后,我们使用Select方法来选择每个年龄组及其总年龄(使用Sum聚合函数计算)。最后,我们将结果转换为一个新的匿名类型列表并输出。

运行这段代码,你将得到以下输出:

AgeGroup = 25, TotalAge = 28
AgeGroup = 28, TotalAge = 28
AgeGroup = 30, TotalAge = 30
AgeGroup = 32, TotalAge = 32
AgeGroup = 35, TotalAge = 35

这样,我们就实现了C#中分组操作与聚合函数的结合使用。

未经允许不得转载 » 本文链接:https://www.legongju.com/article/85488.html

相关推荐

  • c# await怎么用

    c# await怎么用

    在C#中,await关键字通常与异步编程一起使用。当你有一个可能需要很长时间才能完成的操作(例如从数据库读取数据或访问Web服务)时,你可以使用async和await关键...

  • c#如何获取cpu利用率

    c#如何获取cpu利用率

    在C#中,可以使用PerformanceCounter类来获取CPU利用率。以下是一个简单的示例:
    using System;
    using System.Diagnostics;
    using System.Thread...

  • c#怎么获取请求ip

    c#怎么获取请求ip

    在C#中,你可以通过HttpContext对象来获取客户端的IP地址。这里有一个示例代码,展示了如何在ASP.NET Core中获取请求的IP地址:
    using Microsoft.AspNetCor...

  • c#两个datatable怎么合并

    c#两个datatable怎么合并

    在C#中,可以使用DataTable.Merge()方法将两个DataTable合并。以下是一个简单的示例:
    using System;
    using System.Data; class Program
    { stati...

  • 在c#中如何实现自定义的分组逻辑

    在c#中如何实现自定义的分组逻辑

    在C#中,你可以通过实现IEnumerable.GroupBy方法来自定义分组逻辑。以下是一个示例:
    using System;
    using System.Collections.Generic;
    using S...

  • c#中group的结果如何排序和筛选

    c#中group的结果如何排序和筛选

    在C#中,使用LINQ(Language Integrated Query)可以对集合进行分组、排序和筛选。以下是一个示例,展示了如何使用LINQ对集合进行分组、排序和筛选:
    using...

  • 如何处理c#中group操作的异常

    如何处理c#中group操作的异常

    在C#中处理异常,通常使用try-catch语句。对于GroupBy操作可能引发的异常,你需要根据具体的异常类型进行处理。以下是一些建议: 使用try-catch捕获异常: using...

  • c#中group的分组条件如何设置

    c#中group的分组条件如何设置

    在C#中,对集合进行分组通常使用LINQ(Language Integrated Query)查询。要设置分组条件,你需要使用GroupBy方法,并提供一个选择器表达式,该表达式定义了分组...