Оператор switch в C#

В процессе написания программ часто возникает необходимость выполнять разные действия в зависимости от значения переменной. В таких случаях можно использовать конструкцию if-else, однако в некоторых ситуациях более наглядным и удобным решением будет использование оператора switch. Этот оператор позволяет обрабатывать множество вариантов значения переменной с чистым и структурированным синтаксисом.

 

В этой статье мы подробно рассмотрим, как работает оператор switch в языке программирования C#, разберём его синтаксис и приведём примеры использования.

 

 

Что такое оператор switch?

 

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

 

Общий синтаксис

 

switch (expression)

{

    case value1:

        // Действия при значении value1

        break;

    case value2:

        // Действия при значении value2

        break;

    default:

        // Действия, если ни одно значение не совпало

        break;

}

 

·  expression — выражение, которое сравнивается с каждым значением в case.

·  case — возможное значение выражения.

·  break — завершает выполнение блока case.

·  default — необязательный блок, который выполняется, если ни одно значение не совпало.

 

Пример использования

 

int day = 3;

switch (day)

{

    case 1:

        Console.WriteLine("Понедельник");

        break;

    case 2:

        Console.WriteLine("Вторник");

        break;

    case 3:

        Console.WriteLine("Среда");

        break;

    case 4:

        Console.WriteLine("Четверг");

        break;

    case 5:

        Console.WriteLine("Пятница");

        break;

    case 6:

        Console.WriteLine("Суббота");

        break;

    case 7:

        Console.WriteLine("Воскресенье");

        break;

    default:

        Console.WriteLine("Неверный номер дня");

        break;

}

 

Если переменная day равна 3, программа выведет:

Среда

 

 

Объединение нескольких case

 

В некоторых случаях удобно обрабатывать несколько значений одинаково. В C# это реализуется объединением нескольких case подряд без break между ними:

 

char grade = 'B';

switch (grade)

{

    case 'A':

        Console.WriteLine("Отлично!");

        break;

    case 'B':

    case 'C':

        Console.WriteLine("Хорошо!");

        break;

    case 'D':

        Console.WriteLine("Удовлетворительно");

        break;

    case 'F':

        Console.WriteLine("Неудовлетворительно");

        break;

    default:

        Console.WriteLine("Неизвестная оценка");

        break;

}

 

Если grade = 'B' или grade = 'C', будет выведено:
Хорошо!

 

 

Современный синтаксис (C# 8.0 и выше)

 

Начиная с C# 8.0, доступна более лаконичная форма switch-выражений, возвращающих результат:

 

string GetDayName(int day) =>

    day switch

    {

        1 => "Понедельник",

        2 => "Вторник",

        3 => "Среда",

        4 => "Четверг",

        5 => "Пятница",

        6 => "Суббота",

        7 => "Воскресенье",

        _ => "Неверный номер дня"

    };

 

Такой синтаксис особенно удобен в коротких функциях и выражениях.

 

Оператор switch в C# является мощным инструментом для обработки различных вариантов значений переменной. Он делает код более читаемым и упрощает структуру при большом количестве условий. В зависимости от версии языка, вы можете использовать как классическую форму с case и break, так и современный лаконичный синтаксис выражений switch.

Понимание и правильное применение оператора switch делает ваш код чище, понятнее и легче в сопровождении.

Лого

Spartacus_85 [Admin]

Администратор сайта — это специалист, который отвечает за техническую поддержку и бесперебойную работу веб-ресурса.



0 Комментарий(я)

Зарегистрируйтесь чтобы оставить комментарий