linq分组后怎么在组内排序

   2025-02-05 6360
核心提示:在LINQ中,可以使用OrderBy或OrderByDescending方法对分组后的结果进行排序。假设有一个学生列表,每个学生都有一个班级属性Clas

在LINQ中,可以使用OrderByOrderByDescending方法对分组后的结果进行排序。

假设有一个学生列表,每个学生都有一个班级属性Class,现在要按班级分组,并在每个班级内按照学生的姓名进行排序,可以按照以下方式编写LINQ查询:

var students = new List<Student>();// 分组并在组内排序var groupedStudents = students    .GroupBy(s => s.Class)    .Select(g => new    {        Class = g.Key,        Students = g.OrderBy(s => s.Name)  // 在组内按姓名排序    });// 遍历结果foreach(var group in groupedStudents){    Console.WriteLine("班级:" + group.Class);    foreach(var student in group.Students)    {        Console.WriteLine("姓名:" + student.Name);    }}

在这个示例中,GroupBy方法将学生列表按班级分组,然后通过OrderBy方法对每个班级内的学生按姓名进行排序。最后,我们使用Select方法来创建一个新的结果对象,包含班级和已排序的学生列表。在遍历结果时,我们可以看到每个班级内的学生已按姓名进行了排序。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言