C# เชิงวัตถุ

Record และความเท่ากันตามค่า

แทนข้อมูลที่เปลี่ยนไม่ได้ด้วยชนิด record ที่กระชับ

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

record เหมาะกับโมเดลที่เน้นข้อมูล ซึ่งความเท่ากันควรขึ้นกับค่า

นิพจน์ with สร้างสำเนาที่เปลี่ยน property หนึ่งตัว โดย record เดิมยังเหมือนเดิม

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

C#
รันโค้ด →
Program.cs
using System;

record User(string Name, string Role);

class Program
{
    static void Main()
    {
        var original = new User("Ada", "Developer");
        var promoted = original with { Role = "Lead" };
        Console.WriteLine(promoted);
    }
}
ผลลัพธ์ที่คาดหวัง
User { Name = Ada, Role = Lead }

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

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

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

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

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