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

C# LINQ和Lambda如何实现分组统计

在C#中,使用LINQ和Lambda表达式可以轻松地对数据进行分组统计。以下是一个示例,说明如何使用LINQ和Lambda表达式对一个列表进行分组统计。

首先,我们需要一个数据类型。假设我们有一个Person类:

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

接下来,我们创建一个包含Person对象的列表:

List people = new List
{
    new Person { Name = "Alice", Age = 25 },
    new Person { Name = "Bob", Age = 30 },
    new Person { Name = "Charlie", Age = 25 },
    new Person { Name = "David", Age = 30 },
    new Person { Name = "Eve", Age = 28 }
};

现在,我们将使用LINQ和Lambda表达式对这个列表进行分组统计,按照年龄进行分组:

var ageGroups = people.GroupBy(p => p.Age)
                     .Select(g => new
                     {
                         Age = g.Key,
                         Count = g.Count()
                     })
                     .ToList();

这段代码首先使用GroupBy方法按照Age属性对people列表进行分组。然后,使用Select方法将每个分组转换为一个新的匿名类型,其中包含分组的键(年龄)和该分组的元素数量(计数)。最后,使用ToList方法将结果转换为一个列表。

现在,ageGroups列表将包含按年龄分组的统计信息:

foreach (var group in ageGroups)
{
    Console.WriteLine($"Age: {group.Age}, Count: {group.Count}");
}

输出:

Age: 25, Count: 2
Age: 30, Count: 2
Age: 28, Count: 1

这就是如何使用C#中的LINQ和Lambda表达式进行分组统计的方法。

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

相关推荐

  • c#如何获取当前程序的路径

    c#如何获取当前程序的路径

    在C#中,你可以使用System.IO.Path和System.Reflection命名空间来获取当前程序的路径。下面是一个示例代码:
    using System;
    using System.IO;
    us...

  • c#中如何调用python

    c#中如何调用python

    在C#中调用Python脚本,可以使用Pythonnet库(Python for .NET)或者IronPython库。这里我将分别介绍这两种方法。 使用Pythonnet库(Python for .NET): 首先,...

  • c#封装的步骤是什么

    c#封装的步骤是什么

    C# 封装主要包括以下几个步骤: 定义类(Class):创建一个新的类,用于存放需要封装的属性和方法。类是面向对象编程中的基本单位,它将数据(属性)和操作数据的...

  • c#字符串如何去重

    c#字符串如何去重

    在C#中,可以使用LINQ(Language Integrated Query)来实现字符串去重。下面是一个示例代码:
    using System;
    using System.Linq; class Program
    ...

  • 在C#中如何利用LINQ和Lambda排序数据

    在C#中如何利用LINQ和Lambda排序数据

    在C#中,你可以使用LINQ(Language Integrated Query)和Lambda表达式来对数据进行排序
    首先,确保你已经引入了System.Linq命名空间:
    using System.L...

  • C# LINQ与Lambda表达式结合的优势

    C# LINQ与Lambda表达式结合的优势

    C# LINQ(Language Integrated Query,语言集成查询)和 Lambda 表达式是两种强大的编程工具,它们在很多情况下可以结合使用。结合使用 LINQ 和 Lambda 表达式的...

  • 如何用C# LINQ和Lambda进行数据筛选

    如何用C# LINQ和Lambda进行数据筛选

    在C#中,LINQ(Language Integrated Query)和Lambda表达式可以帮助你轻松地对数据进行筛选
    首先,确保你已经引入了System.Linq命名空间:
    using Syst...

  • C#中LINQ查询如何使用Lambda表达式

    C#中LINQ查询如何使用Lambda表达式

    在C#中,LINQ(Language Integrated Query)查询可以使用Lambda表达式来简化查询操作。Lambda表达式是一种简洁的表示匿名方法的方式,它可以让你的代码更加简洁和...