Урок 4. Тернарный (третичный) оператор


#1

Тернарный оператор состоит из следующих операндов:(условие) ? (блок истинности или то) : (блок иначе). Тернарный оператор также могут называть троичным оператором, потому что он единственный во всём языке имеет три оператора (условие и 2 блока).

image

Алгоритм работы тернарной операции: (логическое выражение) ? выражение 1 : выражение 2

  1. Вычисляется логическое выражение (условие).
  2. Если логическое выражение истинно, то вычисляется значение выражения 1, в противном случае — значение выражения 2.
  3. Вычисленное значение возвращается.

Тернарный оператор [ ? : ], является сокращенной формой конструкции if-else, поэтому, например, такой тернарный оператор:

max = (a > b) ? a : b; // ЕСЛИ: (a > b) ТО: вернуть a ИНАЧЕ: вернуть b;

представляет собой следующее:

if (a > b)
{
    max = a;
}
else
{
    max = b;
}

Правило: тернарный оператор обязательно должен возвращать значение, иначе будет ошибка.

Также нужно рассмотреть работу тернарного оператора в случаях, когда в выражении происходят дополнительные действия, например:

max = a > b ? c = a : c = b;

В данном случае если условие будет истинным, то дальнейший ход действий будет таковым:

  1. с = а
  2. max = c

С этого следует, что присвоение результата работы тернарного оператора переменной всегда будет последним.

Кроме этого, как видно с данного примера условие в тернарном операторе не обязательно брать в скобки ( ).

Источник: видеоурок Александра Шевчука "ВИДЕОУРОК №4. УСЛОВНЫЕ КОНСТРУКЦИИ"

%D1%81%D1%82%D1%80%D0%B5%D0%BB%D0%BA%D0%B0%20%D0%B2%D0%BB%D0%B5%D0%B2%D0%BE%202 предыдущая статья | следующая статья %D1%81%D1%82%D1%80%D0%B5%D0%BB%D0%BA%D0%B0%20%D0%B2%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%202


Урок 4. Условная конструкция – if-else (с несколькими ветвями). Каскад условных операторов
Содержание справочника С# Starter