В процессе написания программ часто возникает необходимость выполнять разные действия в зависимости от значения переменной. В таких случаях можно использовать конструкцию 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 делает ваш код чище, понятнее и легче в сопровождении.
0 Комментарий(я)
Зарегистрируйтесь чтобы оставить комментарий