Основы C#

Теория: Тернарный оператор

Посмотрите на определение метода, который возвращает модуль переданного числа:

class App
{
    // Если больше 0 то возвращаем число как есть, если меньше, то убираем знак
    public static int Abs(int number)
    {
        if (number >= 0)
        {
            return number;
        }

        return -number;
    }
}


App.Abs(10); // 10
App.Abs(-10); // 10

В C# существует конструкция, которая по своему действию аналогична конструкции if-else, но при этом является выражением. Она называется тернарный оператор. Тернарный оператор — единственный в своем роде оператор, требующий три операнда. Он помогает писать меньше кода для простых условных выражений. Наш пример выше с тернарным оператором превращается в три строки кода:

class App
{
    public static int Abs(int number)
    {
        return number >= 0 ? number : -number;
    }
}

Общий шаблон выглядит так: <predicate> ? <expression on true> : <expression on false>. То есть сначала мы записываем логическое выражение, а дальше два разных варианта поведения, первый, сразу после вопроса, выполняется если условие истинно, и второй, после двоеточия выполняется если условие ложно.

Рекомендуемые программы

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845