Skip to main content

1.3 — 2. Điều Kiện (Conditions)

Mục tiêu bài học

  • Nắm được ý chính của bài và mối liên hệ với module.
  • Áp dụng được kiến thức vào bối cảnh CRM/.NET backend.
  • Sẵn sàng chuyển sang bài kế tiếp với nền tảng chắc chắn.

Nội dung bài học

1.3.1 — if / else

Điều kiện cho phép chương trình ra quyết định: nếu điều này đúng thì làm A, ngược lại làm B.

int diemKhachHang = 650;

if (diemKhachHang >= 500)
{
Console.WriteLine("Khách hàng VIP — được giảm 15%");
}
else if (diemKhachHang >= 200)
{
Console.WriteLine("Khách hàng Bạc — được giảm 5%");
}
else
{
Console.WriteLine("Khách hàng Thường — không có ưu đãi");
}

1.3.2 — Toán tử điều kiện (ternary)

Dùng khi muốn viết gọn một điều kiện đơn giản:

// Cú pháp: điều_kiện ? giá_trị_nếu_đúng : giá_trị_nếu_sai
string hangKhach = diemKhachHang >= 500 ? "VIP" : "Thường";
Console.WriteLine($"Hạng: {hangKhach}");

1.3.3 — Ví dụ thực tế: tính phí giao hàng theo giá trị đơn

Trong CRM/ERP, phí vận chuyển thường thay đổi theo tổng tiền đơn hàng:

decimal giaTriDon = 420_000m;
decimal phiVanChuyen = giaTriDon >= 500_000m ? 0m : 30_000m;

Console.WriteLine($"Phí vận chuyển: {phiVanChuyen:n0} VND");

Ví dụ này giúp bạn thấy rõ cách dùng điều kiện để xử lý rule nghiệp vụ rất thường gặp.

1.3.4 — switch

Dùng khi có nhiều nhánh dựa trên cùng một biến:

string trangThaiLead = "new"; // Trạng thái lead trong CRM

switch (trangThaiLead)
{
case "new":
Console.WriteLine("Lead mới — cần liên hệ trong 24 giờ");
break;
case "contacted":
Console.WriteLine("Đã liên hệ — chờ phản hồi");
break;
case "qualified":
Console.WriteLine("Đủ điều kiện — chuyển sang sales");
break;
case "lost":
Console.WriteLine("Đã mất — lưu lý do để phân tích");
break;
default:
Console.WriteLine("Trạng thái không xác định");
break;
}

1.3.5 — switch expression (C# 8+)

Cú pháp hiện đại hơn, gọn hơn:

string moTaTrangThai = trangThaiLead switch
{
"new" => "Lead mới",
"contacted" => "Đã liên hệ",
"qualified" => "Đủ điều kiện",
"lost" => "Đã mất",
_ => "Không xác định" // _ là default
};
Console.WriteLine(moTaTrangThai);

Bài tập áp dụng

  1. Tóm tắt bài học bằng ngôn ngữ của bạn.
  2. Liên hệ nội dung với một tình huống thực tế trong dự án.
  3. Đề xuất một cải tiến cụ thể sau khi học bài này.

Tự kiểm tra

  • Bạn có thể giải thích lại nội dung chính trong 2 phút không?
  • Bạn có ví dụ áp dụng thực tế chưa?
  • Bạn biết bước tiếp theo cần học/triển khai là gì không?

Kết luận

Hoàn thành bài này giúp bạn có góc nhìn đầy đủ hơn trước khi đi tiếp trong module.

Điều hướng