Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
8 of 1492 menu
◀ ▶

Тернарный оператор

Тернарный оператор ?: выбирает значение внутри выражения. Слева - условие, затем ?, результат при истине, : и результат при ложи. По смыслу это короткая форма пары if и else, когда обе ветки возвращают значение одного типа.

Синтаксис

условие ? значениеЕслиИстина : значениеЕслиЛожь

Пример

Давайте получим текст для положительного числа:

using System; class Program { static void Main() { int num = 5; string res = num > 0 ? "positive" : "non-positive"; Console.WriteLine(res); } }

Результат выполнения кода:

"positive"

Пример

Давайте выберем вторую ветку при отрицательном значении:

using System; class Program { static void Main() { int num = -3; string res = num > 0 ? "positive" : "non-positive"; Console.WriteLine(res); } }

Результат выполнения кода:

"non-positive"

Пример

Давайте сравним длину строки с порогом и запишем результат в переменную:

using System; class Program { static void Main() { string str = "abcde"; string res = str.Length >= 5 ? "long" : "short"; Console.WriteLine(res); } }

Результат выполнения кода:

"long"

Пример

Давайте вложим тернарный оператор в выражение с числами:

using System; class Program { static void Main() { int num = 3; int res = (num > 0 ? num : 0) + 2; Console.WriteLine(res); } }

Результат выполнения кода:

5

Смотрите также

  • оператор if,
    который выполняет блок по условию
  • ветка else,
    которую заменяет вторая часть ?:
  • выражение switch,
    которое выбирает среди нескольких вариантов
  • оператор is,
    который проверяет тип в условии
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить