C#泛型Groupby
时间: 2024-12-18 15:35:52 浏览: 3
在C#中,泛型`GroupBy`是 LINQ(Language Integrated Query,语言集成查询)的一部分,它允许你在集合上按照某个键值进行分组,返回的是一个键-值对的集合,每个键对应于一组具有相同键值的元素。这个操作非常有用,当你需要将数据分割成相关组,如按日期、类别或其他属性进行分类。
例如,假设你有一个学生列表,并想按成绩分组:
```csharp
var students = new List<Student> {
new Student { Name = "Alice", Score = 85 },
new Student { Name = "Bob", Score = 90 },
new Student { Name = "Charlie", Score = 85 }
};
var groupedStudents = students.GroupBy(student => student.Score);
foreach (var group in groupedStudents)
{
Console.WriteLine($"Score: {group.Key}, Students:");
foreach (var student in group)
{
Console.WriteLine($"\t{student.Name}");
}
}
```
在这个例子中,`groupedStudents`将会是一个`IGrouping<int, Student>`类型的集合,表示每个分数段及其对应的学生成员。
阅读全文