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.
Thử thách
Người mớiTạ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:
- Nhận một số nguyên từ người dùng. Dòng đọc số vào
numberđã được viết sẵn. - 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,negativehoặczerovàoresult. - 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);
}
}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