ภาพรวม
คำสั่ง switch ใน C# รองรับการเปรียบเทียบสตริงโดยตรง ทำให้เขียนโค้ดกระชับกว่า if-else ซ้อนกัน
ตัวอย่าง: ตรวจสอบเกรด
using System;
public class Demo {
public static void Main(String[] args) {
string grades = "A1";
switch (grades) {
case "A1":
Console.WriteLine("Very good!");
break;
case "A2":
Console.WriteLine("Good!");
break;
case "B1":
Console.WriteLine("Satisfactory!");
break;
default:
Console.WriteLine("Invalid!");
break;
}
Console.WriteLine("Grade = " + grades);
}
}
ผลลัพธ์
Very good! Grade = A1
สรุป
- ใช้
case "string":สำหรับแต่ละค่าที่เป็นไปได้ breakจำเป็นต้องมีเพื่อออกจาก switch (C# ไม่รองรับ fall-through โดยอัตโนมัติ)defaultจัดการกรณีที่ไม่ตรงกับ case ใดๆ- การเปรียบเทียบเป็น case-sensitive โดยค่าเริ่มต้น