117.info
人生若只如初见

c#集合如何进行分组操作

在C#中,要对集合进行分组操作,可以使用LINQ(Language Integrated Query)中的GroupBy方法。GroupBy方法可以根据指定的键对集合中的元素进行分组。以下是一个简单的示例:

首先,创建一个类,例如Person,用于存储集合中的元素:

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

接下来,创建一个Person对象的集合:

List people = new List
{
    new Person { Name = "Alice", Age = 30, City = "New York" },
    new Person { Name = "Bob", Age = 25, City = "Los Angeles" },
    new Person { Name = "Charlie", Age = 30, City = "New York" },
    new Person { Name = "David", Age = 25, City = "Los Angeles" },
    new Person { Name = "Eva", Age = 25, City = "Chicago" }
};

现在,使用LINQ的GroupBy方法对集合进行分组操作。例如,按年龄和城市进行分组:

var groupedPeople = people.GroupBy(p => new { p.Age, p.City });

groupedPeople现在是一个IGrouping集合,其中每个元素都是一个包含年龄和城市键的组。要访问每个组的元素,可以使用FirstLast等方法:

foreach (var group in groupedPeople)
{
    Console.WriteLine($"Age: {group.Key.Age}, City: {group.Key.City}");
    foreach (var person in group)
    {
        Console.WriteLine($"  Name: {person.Name}");
    }
}

这将输出以下结果:

Age: 30, City: New York
  Name: Alice
  Name: Charlie
Age: 25, City: Los Angeles
  Name: Bob
  Name: David
Age: 25, City: Chicago
  Name: Eva

这就是如何在C#中使用LINQ的GroupBy方法对集合进行分组操作。你可以根据需要修改键的类型和分组条件。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe3a1AzsIAw5XAw.html

推荐文章

  • c++ csdn 能获取最新技术资讯吗

    是的,通过CSDN可以获取C++的最新技术资讯。CSDN专业的中文IT技术社区,提供了丰富的技术资源,包括C++相关的最新技术资讯、公开课、精品课、电子书等。以下是一...

  • c# gettype对代码维护有何影响

    GetType() 是 C# 中的一个方法,用于获取一个对象的类型信息。它对代码维护有以下几个方面的影响: 可读性:使用 GetType() 可以提高代码的可读性,因为它明确地...

  • c# gettype能获取哪些接口信息

    在C#中,GetType()方法用于获取一个对象的类型信息。当你对一个对象调用GetType()方法时,它会返回一个表示该对象类型的Type对象。通过这个Type对象,你可以获取...

  • c++ coroutine适用于高性能计算吗

    C++20 引入了协程(coroutines),它们是一种支持异步编程和协作式多任务的机制。协程在高性能计算(HPC)领域确实有一些潜在的应用,但它们是否适用取决于具体的...

  • php输出怎样进行性能优化

    在 PHP 中,输出性能优化是一个重要的考虑因素,尤其是在处理大量数据或高并发请求时。以下是一些常见的 PHP 输出性能优化技巧:
    1. 使用输出缓冲
    输出...

  • php unserialize如何处理对象

    unserialize() 函数用于将 PHP 的 serialize() 函数生成的序列化字符串还原为原始数据 在这个示例中,我们首先创建了一个名为 Person 的类,并实例化了一个名为 ...

  • rust match如何处理模式匹配

    在Rust中,match语句用于进行模式匹配,它允许你根据不同的条件执行不同的代码块。match语句的基本语法如下:
    match expression { pattern => expression, ...

  • c#集合怎样进行合并操作

    在C#中,可以使用Concat方法或Union方法来合并两个集合。以下是两种方法的示例:
    方法1:使用Concat方法
    using System;
    using System.Collection...