Условное выражение с целевым типом недоступно
Обновлено: 04.11.2024
Условный оператор ?: , также называемый тернарным, вычисляет логическое выражение и в зависимости от полученного значения true или false возвращает результат одного из двух соответствующих выражений, как показано в следующем примере.
Как показано в предыдущем примере, синтаксис условного оператора выглядит следующим образом.
Выражение condition должно принимать значение true или false . Если condition принимает значение true , вычисляется выражение consequent , а результат становится результатом операции. Если condition принимает значение false , вычисляется выражение alternative , а результат становится результатом операции. Вычисляется только выражение consequent или alternative .
Условный оператор имеет правую ассоциативность, то есть выражение формы.
Вы можете использовать следующий мнемонический прием, чтобы запомнить, как оценивается условный оператор:
Условное выражение REF
Для условного выражения REF используется следующий синтаксис:
Подобно исходному условному оператору, условное выражение REF вычисляет только одно из двух выражений: consequent или alternative .
Для условного выражения REF типы consequent и alternative должны совпадать. Условные выражения REF не имеют целевого типа.
В следующем примере иллюстрируется использование условного выражения REF:
Условный оператор и оператор if
Если использовать условный оператор вместо оператора if , может получиться более лаконичный код в случаях, когда необходимо условно вычислить значение. В следующем примере иллюстрируются два вида классификации целого числа как положительного или отрицательного:
Возможность перегрузки оператора
Определяемый пользователем тип не может перегружать условный оператор.
Читайте также: