Menu
CoddyTech

Toán tử ba ngôi

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 28 trên 69.

Toán tử ba ngôi là câu lệnh if-else đơn giản trên một dòng. Nó có cú pháp như sau:

variable = (condition) ? value_if_true : value_if_false;

Toán tử ba ngôi đánh giá điều kiện. Nếu điều kiện là true, nó gán value_if_true cho biến; nếu không, nó gán value_if_false.

Ví dụ:

int age = 20;
string message = (age >= 18) ? "Adult" : "Minor";

Trong ví dụ này, vì age lớn hơn hoặc bằng 18 nên message sẽ nhận giá trị "Adult". Nếu age nhỏ hơn 18 thì message sẽ nhận "Minor".

Bạn có thể lồng các toán tử ba ngôi để xử lý nhiều điều kiện:

int score = 75;
String grade = (score >= 90) ? "A" : (score >= 80) ? "B" : (score >= 70) ? "C" : "F";

Câu lệnh này kiểm tra lần lượt nhiều điều kiện. Nếu score >= 90, grade là "A"; nếu không, nếu score >= 80, grade là "B"; nếu không, nếu score >= 70, grade là "C"; nếu không thì là "F".

Lưu ý: Các toán tử điều kiện ba ngôi lồng nhau có thể khó đọc. Với điều kiện phức tạp, hãy dùng câu lệnh if-else.

challenge icon

Thử thách

Người mới

Tạo chương trình dùng toán tử ba ngôi (ternary operator) để kiểm tra một số là số dương, số âm hay số không. Chương trình cần:

  1. Nhận một số nguyên từ người dùng. Dòng đọc số vào number đã được viết sẵn.
  2. Dùng toán tử ba ngôi để xác định số đó là số dương, số âm hay số không. Lưu chuỗi positive, negative hoặc zero vào result.
  3. In kết quả theo định dạng: "The number is [positive/negative/zero]".

Bạn có thể dùng toán tử ba ngôi lồng nhau để giải bài toán này.

Tự làm thử

using System;

public class Program {
    public static void Main(string[] args) {
        int number = int.Parse(Console.ReadLine());
        string result = "";
        
        // Viết code của bạn bên dưới
        
        
        Console.WriteLine("The number is " + result);
    }
}
quiz iconTự kiểm tra

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

Tự luyện tập: Trình biên dịch C# online