Тернарный оператор
Тернарный оператор ?: выбирает значение
внутри выражения. Слева - условие, затем ?,
результат при истине, : и результат при
ложи. По смыслу это короткая форма пары
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