แบบฝึกหัด C#

จัดกลุ่มนักเรียนด้วย LINQ

จัดกลุ่มเรคคอร์ดและคำนวณค่าเฉลี่ยของแต่ละกลุ่ม

ทำงานอย่างไร

GroupBy เปลี่ยนลำดับเป็นกลุ่มตามคีย์ที่สรุปผลแยกกันได้

แต่ละกลุ่มมี Key และค้นหาต่อได้ด้วยตัวดำเนินการสรุปผลของ LINQ ตามปกติ

ตัวอย่าง C# ที่รันได้

C#
รันโค้ด →
Program.cs
using System;
using System.Linq;
record Student(string Name, string Grade, int Score);
class Program
{
    static void Main()
    {
        var students = new[] { new Student("Ada", "A", 95), new Student("Lin", "B", 84), new Student("Grace", "A", 91) };
        foreach (var group in students.GroupBy(s => s.Grade).OrderBy(g => g.Key))
            Console.WriteLine($"{group.Key}: {group.Average(s => s.Score):F1}");
    }
}
ผลลัพธ์ที่คาดหวัง
A: 93.0
B: 84.0

ฝึกกับดีบักเกอร์

ตั้ง breakpoint ที่การกำหนดค่าหรือเงื่อนไขสำคัญ กด Debug แล้วดูค่าตัวแปรภายในก่อนไปยังบรรทัดถัดไป

ฝึกด้วยโจทย์

ใช้สิ่งที่เรียนในบทนี้แก้ปัญหาจริง ทุกโจทย์รันในเบราว์เซอร์ พร้อมการทดสอบทันทีและรีวิวจาก AI

โจทย์ทั้งหมด