c#list数据 分组查询
时间: 2024-06-22 21:02:57 浏览: 79
c# listview分组
3星 · 编辑精心推荐
在C#中,`List<T>` 是一个动态数组,用于存储具有相同类型的对象。如果你需要对 `List<T>` 中的数据进行分组查询,你可以使用 `GroupBy` 方法,这是 LINQ(Language Integrated Query,即语言集成查询)提供的一种功能。`GroupBy` 会根据指定的键(Key)将列表中的元素按照某个属性或规则进行分组。
例如,假设你有一个学生列表,包含学生的姓名和成绩,你可以这样分组:
```csharp
List<Student> students = ... // 假设 Student 类有一个 Score 属性
var groupedStudents = students.GroupBy(student => student.Grade);
```
这将创建一个新的 `IGrouping<TKey, TElement>` 集合,其中 `TKey` 是 `Grade` 的类型,`TElement` 是 `Student` 类型。你可以通过键(如年级)访问每个组,获取该年级的所有学生:
```csharp
foreach (var group in groupedStudents)
{
Console.WriteLine($"Grade: {group.Key}, Students: [{string.Join(", ", group.Select(student => student.Name))}]");
}
```
阅读全文