Câu lệnh switch
Thuộc phần Kiến thức nền tảng trong hành trình C# của Coddy. Bài học 27 trên 69.
Câu lệnh switch giống như câu lệnh if có nhiều nhánh. Thay vì đánh giá một điều kiện duy nhất, nó kiểm tra giá trị của một biến với nhiều trường hợp và chạy đoạn code tương ứng với trường hợp khớp.
Đây là cấu trúc cơ bản của câu lệnh switch:
switch (variable) {
case value1:
// Code chạy nếu variable bằng value1
break;
case value2:
// Code chạy nếu variable bằng value2
break;
// ... thêm các case khác
default:
// Code chạy nếu không có case nào khớp
break;
}- Từ khóa
switchtheo sau là biến bạn muốn kiểm tra, đặt trong dấu ngoặc đơn. - Mỗi
caseđại diện cho một giá trị có thể có của biến. - Code bên trong mỗi
casesẽ chạy nếu biến khớp với giá trị của trường hợp đó.
- Mọi
casekhông rỗng đều phải kết thúc bằngbreak(hoặcreturn), lệnh này thoát khỏiswitch. Bỏ qua lệnh này sẽ gây lỗi biên dịch: khác với C hoặc Java, C# không bao giờ cho phép chương trình tiếp tục chạy từ case này sang case kế tiếp. Chỉ các nhãn case rỗng được xếp chồng lên nhau mới dùng chung code, như minh họa bên dưới.
- Trường hợp
defaultlà tùy chọn và sẽ được thực thi nếu không có trường hợp nào khác khớp.
Đây là một ví dụ:
int day = 3;
string dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
// ... các trường hợp cho những ngày khác
default:
dayName = "Invalid day";
break;
}Bạn cũng có thể kết hợp nhiều trường hợp vào một:
int day = 3;
string dayName;
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
// ... các trường hợp cho những ngày khác
default:
dayName = "Invalid day";
break;
}Thử thách
Người mớiTạo một chương trình nhận vào số tháng (1 là tháng Một, 2 là tháng Hai, v.v.) và in ra mùa tương ứng. Dùng câu lệnh switch cho phần xử lý.
Các mùa và những tháng tương ứng là:
Winter: tháng Mười Hai (12), tháng Một (1), tháng Hai (2)Spring: tháng Ba (3), tháng Tư (4), tháng Năm (5)Summer: tháng Sáu (6), tháng Bảy (7), tháng Tám (8)Autumn: tháng Chín (9), tháng Mười (10), tháng Mười Một (11)
In tên mùa chính xác như đã viết ở trên, bằng tiếng Anh.
Tự làm thử
using System;
public class Program {
public static void Main(string[] args) {
int month = int.Parse(Console.ReadLine());
string season = "";
// Viết code của bạn bên dưới
Console.WriteLine(season);
}
}Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức nền tảng
4Các toán tử, phần 1
Toán tử số họcToán tử moduloTăng và giảmTăng và giảm hậu tốToán tử số học rút gọn5Toán tử phần 2
Toán tử so sánhToán tử logic phần 1Toán tử logic phần 2Ôn tập: logic đơn giảnToán tử logic phần 3Tự luyện tập: Trình biên dịch C# online