Условный тернарный оператор возвращает одно из двух возможных результатов в зависимости от условия. Тернарный оператор в некоторых случаях может использоваться как сокращенная форма условного оператора if...else
.
В общем виде тернарный оператор может быть представлен следующим образом:
условие ? выражение_если_истина : выражение_если_ложь ;
Выражение в левой части – условие
– должно быть логическим и возвращать true
или false
. Если условие возвращает true
вычисляется выражение_если_истина
, если условие принимает значение false
вычисляется выражение_если_ложь
.
В следующем примере на консоль выводится сообщение о разрядности установленной операционной системы:
class Program { static void Main() { string message; // При использовании тернарного оператора возвращается // одна из двух строк в зависимости от результата // вычисления выражения Environment.Is64BitOperatingSystem message = Environment.Is64BitOperatingSystem ? "64-битная операционная система" : "32-битная операционная система"; Console.WriteLine( message ); } }
В следующем примере используется тернарный оператор для получения большего из двух чисел:
class Program { static void Main() { int i1 = 5; int i2 = 30; // использование оператора ?: для получения большего числа int max = i1 > i2 ? i1 : i2; Console.WriteLine( max ); } }