C#partition by的用法
时间: 2024-09-09 09:12:24 浏览: 52
在C#中,`PartitionBy`通常不是直接的语言内置函数,它源自LINQ(Language Integrated Query),一种用于.NET框架中的查询操作的语法糖。`PartitionBy`在数据流处理或分组操作中很有用,特别是当你需要按照某个键值将序列分割成多个子序列时。
例如,如果你有一个学生列表并想要按成绩分组,你可以这样做:
```csharp
List<Student> students = ... // 假设students有Name和Score属性
var groupedStudents = from student in students
group student by student.Score into g
select new { GroupKey = g.Key, StudentsInGroup = g };
foreach (var group in groupedStudents)
{
Console.WriteLine($"分数为{group.GroupKey}:");
foreach (Student s in group.StudentsInGroup)
Console.WriteLine(s.Name);
}
```
这里,`PartitionBy`(实际上是`group by`)将学生分成了多个群组,每个群组包含具有相同分数的学生。`into g`创建了一个匿名类型的集合,其中`g.Key`是分组键(分数),`g`则是整个子集。
阅读全文