Câu lệnh switch lồng nhau
Thuộc phần Logic và luồng chương trình trong hành trình C# của Coddy. Bài học 11 trên 66.
Câu lệnh switch lồng nhau cho phép bạn đặt một câu lệnh switch bên trong câu lệnh switch khác để đưa ra quyết định phức tạp hơn.
Tạo câu lệnh switch lồng nhau cơ bản:
string department = "Sales";
string level = "Senior";
switch (department)
{
case "Sales":
switch (level)
{
case "Junior":
Console.WriteLine("Sales Junior");
break;
case "Senior":
Console.WriteLine("Sales Senior");
break;
}
break;
case "IT":
switch (level)
{
case "Junior":
Console.WriteLine("IT Junior");
break;
case "Senior":
Console.WriteLine("IT Senior");
break;
}
break;
}Luôn thêm câu lệnh break để tránh chuyển tiếp sang case tiếp theo.
Nhớ thụt lề đúng cách để code dễ đọc.
Thử thách
Trung bìnhTạo một phương thức có tên calculatePrice để:
- Nhận ba tham số:
- productType (string): Một trong các giá trị "Electronics", "Clothing" hoặc "Food"
- productTier (string): Một trong các giá trị "Basic", "Premium" hoặc "Luxury"
- basePrice (int): Giá ban đầu của sản phẩm
- Trả về giá cuối cùng (int) sau khi áp dụng các quy tắc sau:
- Với Electronics:
- Basic: Cộng $50 vào giá ban đầu
- Premium: Cộng $100 vào giá ban đầu
- Luxury: Cộng $250 vào giá ban đầu
- Với Clothing:
- Basic: Cộng $10 vào giá ban đầu
- Premium: Cộng $50 vào giá ban đầu
- Luxury: Cộng $100 vào giá ban đầu
- Với Food:
- Basic: Giữ nguyên giá ban đầu
- Premium: Cộng $15 vào giá ban đầu
- Luxury: Cộng $30 vào giá ban đầu
- Với mọi loại sản phẩm hoặc phân hạng khác, trả về giá ban đầu không đổi
- Với Electronics:
Tự làm thử
public class CalculatePrice
{
// Triển khai phương thức calculatePrice
public static int calculatePrice(string productType, string productTier, int basePrice)
{
// Viết code tại đây
}
}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 Logic và luồng chương trình
1Mảng nhiều chiều
Cơ bản về mảng 2 chiềuKhai báo và khởi tạo mảng 2 chiềuTruy cập phần tử mảng 2 chiềuVòng lặp lồng nhau với mảng 2 chiềuMảng răng cưaCác phép toán ma trận thường gặpÔn tập: mảng nhiều chiều4Kỹ thuật điều khiển luồng
Lệnh trả về sớmMệnh đề bảo vệCâu lệnh nhảy (goto)Break và continueLàm phẳng các câu lệnh điều kiện lồng nhau7Toán tử logic nâng cao
Đánh giá ngắn mạchToán tử logic có điều kiệnĐộ ưu tiên của toán tửÔn tập: toán tử nâng cao2Ra quyết định nâng cao
Nhiều điều kiệnLogic Boolean phức tạpSo sánh if và switchCâu lệnh switch lồng nhauÔn tập về ra quyết định nâng cao5Xử lý ngoại lệ
Cơ bản về try-catchCác loại ngoại lệNhiều khối catchLàm việc với tệpKhối finallyUsing hay try-finallyNgoại lệ tùy chỉnhÔn tập: xử lý lỗi8Hệ thống phân tích dữ liệu
Thiết lập thu thập dữ liệuLogic nhập dữ liệu3Cải tiến vòng lặp
Hiệu suất vòng lặpLặp qua dữ liệu phức tạpTừng kiểu vòng lặpTái cấu trúc vòng lặpÔn tập: vòng lặp tối ưu6Xử lý null
Cơ bản về tham chiếu nullKiểu giá trị có thể nullCác mẫu kiểm tra nullLập trình phòng vệÔn tập về an toàn với nullTự luyện tập: Trình biên dịch C# online