在C#中,对集合进行分组通常使用LINQ(Language Integrated Query)查询。要设置分组条件,你需要使用GroupBy
方法,并提供一个选择器表达式,该表达式定义了分组的键。以下是一个简单的示例,演示了如何在C#中使用LINQ对集合进行分组:
using System;
using System.Collections.Generic;
using System.Linq;
class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
class Program
{
static void Main()
{
List<Person> people = new List<Person>
{
new Person { Name = "Alice", Age = 30 },
new Person { Name = "Bob", Age = 25 },
new Person { Name = "Charlie", Age = 30 },
new Person { Name = "David", Age = 25 },
new Person { Name = "Eva", Age = 35 }
};
var groupedPeople = people.GroupBy(p => p.Age);
foreach (var group in groupedPeople)
{
Console.WriteLine($"Age: {group.Key}");
foreach (var person in group)
{
Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
}
}
}
}
在这个示例中,我们创建了一个Person
类,并创建了一个包含Person
对象的列表。然后,我们使用GroupBy
方法按Age
属性对列表进行分组。GroupBy
方法接受一个选择器表达式(在这里是p => p.Age
),该表达式定义了分组的键。最后,我们遍历分组并输出每个分组的信息。