Перейти к основному содержимому

Тернарная операция «?»

Тернарная операция ? — это сокращенная форма условного оператора если-иначе если, которая позволяет записать простое условие в одну строку.

Синтаксис

логическое-выражение ? выражение-если-истина : выражение-если-ложь

Операция работает следующим образом:

  1. Вычисляется логическое-выражение, которое может принимать значение Истина или Ложь. В зависимости от результата выполняется одно из двух выражений: выражение-если-истина или выражение-если-ложь.
  2. Если логическое-выражение равно Истина, то операция возвращает результат вычисления выражения выражение-если-истина.
  3. Если логическое-выражение равно Ложь, то операция возвращает результат вычисления выражения выражение-если-ложь.
совет

Вы можете использовать следующий мнемонический прием, чтобы запомнить, как использовать тернарный оператор:

это условие истинно ? да : нет

Тернарный оператор всегда возвращает результат, поэтому его можно записать в переменную или вернуть из метода. Второй и третий операнды могут быть любыми выражениями (включая вызовы методов), совместимыми с целевым типом условного выражения. Например, если результат выполнения операции помещается в переменную типа Строка, то выражения выражение-если-истина и выражение-если-ложь тоже должны иметь этот тип или тип, который может быть неявно преобразован в тип Строка. Если в качестве выражений используются вызовы методов, то они должны возвращать значения совместимых типов. Методы, не возвращающие значения, использовать нельзя.

Пример

метод ЗапроситьДокумент(Возраст: Число): Строка
возврат Возраст >= 14 ? "Нужен паспорт" : "Нужно свидетельство о рождении"
;