Pattern matching
ตรวจชนิดและค่าด้วยแพทเทิร์นแบบประกาศ
ทำงานอย่างไร
แพทเทิร์นรวมการตรวจชนิด การดึงค่า และเงื่อนไขเข้าด้วยกันโดยไม่ต้องแปลงชนิดแบบเสี่ยง
นิพจน์ switch จัดการ null จำนวนเต็มบวก สตริงที่ไม่ว่าง และกรณีสุดท้ายไว้ในนิพจน์เดียวที่ครบทุกกรณี
ดูการทำงาน
เลื่อนแถบเพื่อเปลี่ยนวัน โปรแกรมจะกระโดดไปยัง case ที่ตรงกันทันที หรือไปที่ default เมื่อไม่มี case ใดตรง
ตัวอย่าง C# ที่รันได้
Program.cs
using System;
class Program
{
static string Describe(object? value) => value switch
{
null => "missing",
int number when number > 0 => $"positive {number}",
string { Length: > 0 } text => $"text: {text}",
_ => "other"
};
static void Main() => Console.WriteLine(Describe(12));
}
positive 12ฝึกกับดีบักเกอร์
ตั้ง breakpoint ที่การกำหนดค่าหรือเงื่อนไขสำคัญ กด Debug แล้วดูค่าตัวแปรภายในก่อนไปยังบรรทัดถัดไป
ฝึกด้วยโจทย์
ใช้สิ่งที่เรียนในบทนี้แก้ปัญหาจริง ทุกโจทย์รันในเบราว์เซอร์ พร้อมการทดสอบทันทีและรีวิวจาก AI
- Triangle Classification Classify three side lengths as invalid, equilateral, isosceles, or scalene. ง่าย
- คี่, คู่ หรือไม่ใช่ทั้งสองอย่าง จัดประเภทตัวเลขว่าเป็นจำนวนเต็มคี่ จำนวนเต็มคู่ หรือไม่ใช่ทั้งสองอย่าง ง่าย