溫馨提示×

c#集合如何進行分組操作

c#
小樊
81
2024-11-20 12:29:36
欄目: 編程語言

在C#中,要對集合進行分組操作,可以使用LINQ(Language Integrated Query)中的GroupBy方法。GroupBy方法可以根據(jù)指定的鍵對集合中的元素進行分組。以下是一個簡單的示例:

首先,創(chuàng)建一個類,例如Person,用于存儲集合中的元素:

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

接下來,創(chuàng)建一個Person對象的集合:

List<Person> people = new List<Person>
{
    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" }
};

現(xiàn)在,使用LINQ的GroupBy方法對集合進行分組操作。例如,按年齡和城市進行分組:

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

groupedPeople現(xiàn)在是一個IGrouping<Person, dynamic>集合,其中每個元素都是一個包含年齡和城市鍵的組。要訪問每個組的元素,可以使用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}");
    }
}

這將輸出以下結(jié)果:

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方法對集合進行分組操作。你可以根據(jù)需要修改鍵的類型和分組條件。

0