Tạo bởi Trần Văn Điêp|
C Sharp

[Video] Hướng dẫn tìm hiểu mệnh đề điều kiện if - else - switch trong C#

[Video] Hướng dẫn tìm hiểu mệnh đề điều kiện if - else - switch trong C#

Mở bài

Khi bắt đầu học lập trình C#, một trong những khái niệm nền tảng quan trọng nhất bạn cần nắm vững chính là mệnh đề điều kiện (conditional statements). Đây là công cụ giúp chương trình của bạn ra quyết định thông minh, thay đổi luồng xử lý dựa trên những tình huống cụ thể.

Hãy tưởng tượng bạn đang viết một phần mềm bán hàng: nếu khách hàng là “VIP”, họ được giảm giá; nếu là “mới”, họ nhận mã khuyến mãi. Hoặc khi bạn lập trình một ứng dụng game, nhân vật chỉ được di chuyển khi “máu” còn trên 0. Tất cả những logic ấy đều được thực hiện nhờ if - else - switch trong C#.

Cấu trúc điều kiện là “bộ não” của chương trình. Nó cho phép máy tính so sánh, phân tích và chọn hướng xử lý phù hợp. Không có nó, ứng dụng chỉ biết chạy theo một đường thẳng, không thể phản ứng linh hoạt với dữ liệu.

Trong bài viết này, bạn sẽ được hướng dẫn chi tiết cách sử dụng các mệnh đề if, else if, elseswitch, đi kèm ví dụ thực tế, mẹo áp dụng, và lời khuyên dành cho người mới học lập trình C#. Sau khi đọc xong, bạn sẽ có thể tự tin viết các chương trình có logic điều kiện phức tạp, rõ ràng và dễ hiểu.


Tìm hiểu mệnh đề if trong C#

1. Cấu trúc cơ bản của if

Câu lệnh if được dùng để kiểm tra một điều kiện. Nếu điều kiện đó đúng (true), chương trình sẽ thực hiện khối lệnh bên trong if.

Cú pháp:

if (điều_kiện) { // Khối lệnh được thực thi nếu điều kiện đúng }

Ví dụ:

int num = 10; if (num > 0) { Console.WriteLine("The number is positive"); }

Kết quả:

The number is positive

Ở ví dụ trên, điều kiện num > 0 đúng, nên chương trình thực hiện lệnh in ra màn hình.


2. Thêm phần else

Nếu bạn muốn chương trình làm việc khác khi điều kiện sai, hãy dùng thêm else.

Cú pháp:

if (điều_kiện) { // Thực hiện nếu đúng } else { // Thực hiện nếu sai }

Ví dụ:

int num = -3; if (num < 0) { Console.WriteLine("The number is negative"); } else { Console.WriteLine("The number is positive"); }

Kết quả:

The number is negative

3. Dùng else if để kiểm tra nhiều điều kiện

Khi cần kiểm tra nhiều trường hợp khác nhau, ta dùng else if.

Ví dụ:

int num = 0; if (num < 0) { Console.WriteLine("The number is negative"); } else if (num == 0) { Console.WriteLine("The number is zero"); } else { Console.WriteLine("The number is positive"); }

Kết quả:

The number is zero

Giải thích:

  • Khi num = 0, điều kiện đầu tiên num < 0 sai.

  • Trình biên dịch kiểm tra num == 0 → đúng, nên thực hiện khối lệnh thứ hai.

  • Khối else chỉ chạy nếu tất cả các điều kiện trước đó đều sai.


Mệnh đề điều kiện lồng nhau (Nested if)

Đôi khi bạn cần kiểm tra nhiều điều kiện bên trong nhau. Cấu trúc if có thể lồng nhau để xử lý những tình huống phức tạp hơn.

Ví dụ:

int num = 13; if (num > 0) { Console.WriteLine("The number is positive"); if (num % 2 == 0) { Console.WriteLine("The number is even"); } else { Console.WriteLine("The number is odd"); } }

Kết quả:

The number is positive The number is odd

Giải thích:

  • Đầu tiên, num > 0 đúng → thực thi bên trong khối if.

  • Tiếp theo, kiểm tra num % 2 == 0 để xác định số chẵn/lẻ.

Lưu ý:

  • Mặc dù lồng nhau giúp xử lý chính xác, nhưng khi quá nhiều tầng if, code sẽ trở nên khó đọc.

  • Hãy cân nhắc sử dụng switch trong những trường hợp có nhiều lựa chọn cố định.


Toán tử điều kiện (Ternary Operator)

Trong C#, có một cú pháp rút gọn cho câu lệnh if...else, đó là toán tử điều kiện ?:.

Cú pháp:

<biểu_thức_điều_kiện> ? <giá_trị_nếu_đúng> : <giá_trị_nếu_sai>;

Ví dụ:

int k = 10; string result = (k != 10) ? "K khác 10" : "K bằng 10"; Console.WriteLine(result);

Kết quả:

K bằng 10

Ưu điểm:

  • Viết ngắn gọn, dễ hiểu khi chỉ có hai trường hợp.
    Nhược điểm:

  • Không nên lạm dụng trong các điều kiện phức tạp (dễ gây rối mắt).


Mệnh đề switch trong C#

Khi bạn cần kiểm tra nhiều giá trị của cùng một biến, thay vì dùng nhiều if...else if, hãy dùng switch để code gọn gàng hơn.

1. Cấu trúc cơ bản

switch (biến) { case giá_trị_1: // Lệnh khi biến == giá_trị_1 break; case giá_trị_2: // Lệnh khi biến == giá_trị_2 break; default: // Lệnh mặc định nếu không khớp case nào break; }

2. Ví dụ minh họa

int day = 1; switch (day) { case 1: Console.WriteLine("test 1"); break; case 2: Console.WriteLine("test 2"); break; default: Console.WriteLine("Other"); break; }

Kết quả:

test 1

Giải thích:

  • Khi day = 1, chương trình khớp với case 1 và thực hiện lệnh tương ứng.

  • Nếu không khớp với bất kỳ case nào, khối default sẽ được chạy.


3. Quy tắc quan trọng khi dùng switch

  • Mỗi case phải kết thúc bằng break để tránh lỗi “fall-through”.

  • Biểu thức trong switch chỉ nhận giá trị hằng số (số, chuỗi, enum, v.v.).

  • defaulttùy chọn, nhưng nên có để xử lý các trường hợp còn lại.


4. Ví dụ nâng cao với switch

int month = 5; string monthName; switch (month) { case 1: monthName = "January"; break; case 2: monthName = "February"; break; case 3: monthName = "March"; break; case 4: monthName = "April"; break; case 5: monthName = "May"; break; default: monthName = "Invalid month"; break; } Console.WriteLine($"The month is {monthName}");

Kết quả:

The month is May

So sánh if-else và switch – Khi nào nên dùng?

If-else phù hợp khi:

  • Cần kiểm tra biểu thức logic phức tạp (>, <, >=, <=, !=, &&, ||).

  • Có nhiều điều kiện khác nhau không liên quan đến cùng một biến.

Ví dụ:

if (age >= 18 && age <= 60) ...

Switch phù hợp khi:

  • Cùng kiểm tra một biến với nhiều giá trị cố định.

  • Muốn code dễ đọc, gọn gàng, đặc biệt trong menu hoặc hệ thống lựa chọn.

Ví dụ:

switch (userChoice) { ... }

Lời khuyên:

  • Với logic ngắn, if-else linh hoạt hơn.

  • Với nhiều lựa chọn cụ thể, switch giúp code dễ quản lý và bảo trì.


Một số lỗi thường gặp với mệnh đề điều kiện

  1. Quên dấu ngoặc {}:
    Khi viết nhiều dòng trong if, bạn nên luôn dùng ngoặc để tránh lỗi logic.

    if (x > 0) Console.WriteLine("A"); Console.WriteLine("B"); // Lỗi logic, luôn chạy dù điều kiện sai
  2. Thiếu break trong switch:
    Dẫn đến việc “rơi xuống” case tiếp theo, gây kết quả sai.

  3. Dùng sai kiểu dữ liệu:
    Cẩn thận khi so sánh giữa stringint, vì C# yêu cầu kiểu dữ liệu khớp nhau.

  4. Sử dụng điều kiện mâu thuẫn:
    Ví dụ:

    if (x > 10) else if (x < 5)

    → thiếu trường hợp x == 5...10.


Kinh nghiệm sử dụng mệnh đề điều kiện hiệu quả

  • Luôn kiểm tra tính logic của điều kiện. Tránh để các mệnh đề chồng chéo.

  • Sử dụng dấu ngoặc {} ngay cả khi chỉ có một lệnh. Giúp dễ bảo trì và tránh lỗi.

  • Không lạm dụng lồng nhau. Nếu có quá nhiều tầng if, nên tách ra thành hàm riêng hoặc dùng switch.

  • Đặt tên biến rõ nghĩa. Khi đọc if (isValidUser), bạn dễ hiểu hơn là if (a == 1).

  • Kết hợp Debug hoặc Console.WriteLine() để kiểm tra giá trị điều kiện trong khi chạy.


Kết luận

Qua bài viết này, bạn đã hiểu rõ cách sử dụng mệnh đề điều kiện if - else - switch trong C# — nền tảng quan trọng trong mọi chương trình. Chúng giúp ứng dụng phản ứng linh hoạt với dữ liệu, ra quyết định thông minh, và kiểm soát luồng xử lý hiệu quả.

Việc thành thạo if, else if, elseswitch sẽ giúp bạn viết code chính xác, dễ đọc và dễ mở rộng. Hãy luyện tập bằng cách tạo những bài tập nhỏ — ví dụ: kiểm tra số chẵn/lẻ, xếp loại học sinh theo điểm, hoặc hiển thị ngày trong tuần bằng switch.

Khi đã vững vàng với các mệnh đề điều kiện, bạn sẽ sẵn sàng bước sang những phần tiếp theo của lập trình C#, như vòng lặp (loop), hàm (method)lập trình hướng đối tượng (OOP).

Hãy bắt đầu thực hành ngay hôm nay — vì chỉ có viết code thực tế mới giúp bạn thực sự hiểu sâu ngôn ngữ C#.


Từ khóa chính: mệnh đề điều kiện trong C#, if else switch C#
LSI keywords: điều kiện if C#, switch case C#, lập trình C#, ví dụ C#, hướng dẫn học C#, cấu trúc điều kiện

Phản hồi từ học viên

5

Tổng 0 đánh giá

Đăng nhập để làm bài kiểm tra

Chưa có kết quả nào trước đó