Тернарный оператор в C#: краткое руководство по условным выражениям
Тернарный оператор в C#
Освойте тернарный оператор C# для компактной, читаемой условной логики.
Тернарный оператор — лаконичная замена простым if…else. Если вы новичок, сначала ознакомьтесь с синтаксисом if…else.
Синтаксис:
Condition ? Expression1 : Expression2;
Принцип:
- Если
Conditionистинно, возвращаетсяExpression1. - Если
Conditionложно, возвращаетсяExpression2.
Пример: превращение многострочного if…else в одну строку.
if (number % 2 == 0) {
isEven = true;
} else {
isEven = false;
}
становятся:
isEven = (number % 2 == 0) ? true : false;
Почему «тернарный»? Потому что оперирует тремя операндами: условием, веткой true и веткой false.
Пример 1: Базовое использование
using System;
namespace Conditional {
class Ternary {
public static void Main(string[] args) {
int number = 2;
bool isEven;
isEven = (number % 2 == 0) ? true : false;
Console.WriteLine(isEven);
}
}
}
Вывод:
True
number = 2, условие истинно, isEven = true. Тернарный может возвращать строки, числа, символы — универсален.
Можно печатать напрямую:
Console.WriteLine((number % 2 == 0) ? true : false);
Когда использовать тернарный оператор
Идеален для коротких, ясных условий. Переусложнение снижает читаемость, особенно при вложенности.
Цепочка if…else if:
if (a > b) {
result = "a is greater than b";
} else if (a < b) {
result = "b is greater than a";
} else {
result = "a is equal to b";
}
Можно свернуть в одну строку:
result = a > b ? "a is greater than b" : a < b ? "b is greater than a" : "a is equal to b";
Код короче, но вложенные тернарные трудно читать. Используйте их экономно для простых условий; сложную логику оставляйте в явных if.
Язык C
- Перегрузка операторов в Python: практическое руководство
- Оператор instanceof в Java: полное руководство с примерами
- Оператор-вовлеченное обслуживание: перевешивают ли выгоды скрытые затраты?
- Операторы в C++: типы, примеры и практические программы
- Перегрузка операторов в C++: практическое руководство с примерами кода
- Профессиональный ремонт клавиатур оператора Charmilles
- Перегрузка в C++: функции и операторы — подробное руководство
- Java 9: Diamond Operator (<>) для анонимных внутренних классов
- Основы MATLAB: Синтаксис, команды и спецсимволы
- Перегрузка операторов в C#: пользовательские типы и кастомная логика