Основы C#

Операторы выбора в C# на примерах

Обновлено: · 2 мин чтения

Операторы выбора определяют, какой блок кода выполнится в зависимости от условия. В C# это if с else и switch. Рассмотрим, чем они отличаются и какой из них лучше выбрать в конкретной ситуации.

Операторы выбора в C# на примерах
Содержание
  1. Введение
  2. Оператор if-else
    1. Пример
    2. Расширение: if-else и if-else if-else
  3. Оператор switch
    1. Пример оператора switch
    2. Объяснение
    3. Switch с новыми возможностями в C# 8.0 и выше
  4. Заключение

Введение

Программирование во многом состоит из принятия решений. В C#, как и во многих других языках программирования, для управления ходом выполнения программы используются операторы выбора. Они позволяют программе выбирать разные пути выполнения в зависимости от условий. Сегодня мы рассмотрим два основных оператора выбора в C#: if-else и switch.

Оператор if-else

Оператор if используется для выполнения кода, если определенное условие истинно. Структура if выглядит так:

if (условие)
{
    // Код для выполнения, если условие истинно
}

Пример

int number = 4;
if (number < 5)
{
    Console.WriteLine("Число меньше 5.");
}

В этом примере, если переменная number меньше 5, консоль выведет сообщение “Число меньше 5”.

Расширение: if-else и if-else if-else

if может быть расширен с использованием else и else if. else выполняется, когда условие в if ложно. else if позволяет проверить еще одно условие, если предыдущее было ложным.

Пример оператора if

if (number < 5)
{
    Console.WriteLine("Число меньше 5.");
}
else if (number == 5)
{
    Console.WriteLine("Число равно 5.");
}
else
{
    Console.WriteLine("Число больше 5.");
}

Когда вариантов больше двух, цепочка if становится громоздкой, и на помощь приходит switch.

Оператор switch

Оператор switch выбирает для выполнения один из множества блоков кода, в зависимости от значения переменной.

Пример оператора switch

int month = 4;
switch (month)
{
    case 1:
        Console.WriteLine("Январь");
        break;
    case 2:
        Console.WriteLine("Февраль");
        break;
    // и так далее для остальных месяцев
    default:
        Console.WriteLine("Неизвестный месяц");
        break;
}

Разберём, как этот код выполняется шаг за шагом.

Объяснение

В этом примере switch проверяет значение month, и когда находит совпадение с одним из случаев (case), выполняет соответствующий блок кода. Ключевое слово break используется для выхода из блока switch. Если ни один случай не совпал, выполняется блок default.

Switch с новыми возможностями в C# 8.0 и выше

Начиная с C# 8.0, switch можно использовать в более современном стиле с использованием выражений (switch expressions), что делает код компактнее и читаемее.

Пример switch-выражения

string season = month switch
{
    12 or 1 or 2 => "Зима",
    3 or 4 or 5 => "Весна",
    6 or 7 or 8 => "Лето",
    9 or 10 or 11 => "Осень",
    _ => "Неизвестный месяц"
};
Console.WriteLine(season);

Здесь switch используется как выражение, присваивающее переменной season значение в зависимости от month. Использование _ в качестве последнего случая обеспечивает покрытие всех возможных значений, работая как default в традиционном switch.

Заключение

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