Тернарный оператор в C#
Пусть у нас есть следующий код, проверяющий,
есть ли уже пользователю 18 лет или нет:
int age = 17;
bool adult;
if (age >= 18) {
adult = true;
} else {
adult = false;
}
Console.WriteLine(adult);
Как вы видите, конструкция if-else
нужна только для того, чтобы записать определенное
значение в переменную adult. Для
таких задач, когда у нас в условии происходит
только запись одной переменной, существует
более короткое решение через так называемый
тернарный оператор.
Его синтаксис таков:
variable = condition ? value1 : value2;
Оператор работает так: если условие истинно,
то возвращается value1, в противном
случае - value2. Давайте перепишем
приведенный в самом начале урока код через
тернарный оператор:
int age = 17;
bool adult = age >= 18 ? true : false;
Console.WriteLine(adult);
Можно, кстати, не записывать результат в переменную, а сразу вывести его. Тернарный оператор уместен только в простых случаях: сложная запись затрудняет чтение кода. Выведем результат сразу:
int age = 17;
Console.WriteLine((age >= 18 ? true : false));
Дан код:
int num = 5;
Пусть num может быть либо отрицательной,
либо положительной. Запишите в res число
1, если num >= 0, и -1, если
num меньше нуля. Выведите res.