リンクをグループ化した後、グループ内でどのように並べ替えるか。

LINQでは、グループ化した結果を並べ替えるために、OrderByまたはOrderByDescendingメソッドを使用することができます。

学生リストがある場合、それぞれの学生にはクラス属性があります。今、クラスごとにグループ化し、それぞれのクラス内で学生の名前で並べ替える必要があります。この場合、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メソッドを使用して、クラスとソートされた生徒リストを含む新しい結果オブジェクトを作成します。結果を反復処理すると、各クラス内の生徒が名前でソートされていることがわかります。

bannerAds