C# Lệnh Switch...Case

Lệnh Switch…Case trong C# được dùng để chọn và thực thi một khối mã lệnh trong nhiều khối mã lệnh từ nhiều điều kiện.

Cú pháp lệnh Switch…Case trong C# như sau:

Cú pháp lệnh switch...case         

switch(expression)

{

  case x:

    // code block - Khối lệnh

    break;

  case y:

    // code block - Khối lệnh

    break;

  default:

    // code block - Khối lệnh

    break;

}

Ví dụ áp dụng lệnh switch...case cho bài toán về hiển thị tên ngày trong tuần dựa vào số ngày của tuần.

Ví dụ

            int v_day = 5;
            switch(v_day)
            {
                case 1:
                    Console.WriteLine("Thứ 2");
                    break;
                case 2:
                    Console.WriteLine("Thứ 3");
                    break;
                case 3:
                    Console.WriteLine("Thứ 4");
                    break;
                case 4:
                    Console.WriteLine("Thứ 5");
                    break;
                case 5:
                    Console.WriteLine("Thứ 6");
                    break;
                case 6:
                    Console.WriteLine("Thứ 7");
                    break;
                case 7:
                    Console.WriteLine("Chủ nhật");
                    break;

            }

            // Kết quả hiển thị là : Thứ 6 
            

Giải thích hoạt động của lệnh switch…case trong C#:

Khi expression của lệnh switch được kiểm tra, các giá trị của expression được so sanh với mỗi trường hợp case.Nếu giá trị của expression phù hợp thì nó sẽ thực hiện khối lệnh của trường hợp case đó.

switch : Thực hiện kiểm tra giá trị với các trường hợp case.

case : Thực hiện khối lệnh với mỗi trường hợp.

break : Khi lệnh break được thực hiện, nó sẽ thoát khỏi lệnh switch và lệnh tiếp theo bên ngoài switch sẽ được thực hiện.

Ví dụ 

            int v_day = 2;
            switch(v_day)
            {
                case 1:
                    Console.WriteLine("Thứ 2");
                    break;
                case 2:
                    Console.WriteLine("Thứ 3");
                    break;
                case 3:
                    Console.WriteLine("Thứ 4");
                    break;
            } // Kết quả hiển thị là : Thứ 3 

default: Nếu không có trường hợp case nào phù hợp với expression của lệnh switch thì khối lệnh sau từ khóa default sẽ được thực thi.

Ví dụ          

            int v_day = 6;
            switch(v_day)
            {
                case 1:
                    Console.WriteLine("Thứ 2");
                    break;
                case 2:
                    Console.WriteLine("Thứ 3");
                    break;
                case 3:
                    Console.WriteLine("Thứ 4");
                    break;
                default:
                    Console.WriteLine("Đang tìm ngày cuối tuần.");
                    break;

            }

            // Kết quả hiển thị là : Đang tìm ngày cuối tuần.