Оператор switch-case — это условный оператор в C#, аналогичный по функциональности оператору if-else, но предназначенный для проверки одной переменной на равенство множеству значений.
Ввод данных от пользователя
Для демонстрации работы оператора switch-case необходимо получить значение от пользователя. Создадим переменную userInput типа int:
int userInput = Convert.ToInt16(Console.ReadLine());
Этот код считывает числовое значение с консоли и преобразует его в 16-битное целое число. Возможна обработка других типов данных, например, строк или символов.
Реализация оператора switch-case
Реализуем оператор switch-case для проверки значения userInput:
switch (userInput)
{
case 5:
Console.WriteLine("Number is 5");
break;
case 15:
Console.WriteLine("Number is 15");
break;
case 20:
Console.WriteLine("Number is 20");
break;
case 250:
Console.WriteLine("Number is 250");
break;
default:
Console.WriteLine("Number is not 5, 15, 20 or 250");
break;
}
Ключевое слово switch указывает переменную для проверки. Каждый case соответствует определенному значению. Оператор break необходим для выхода из блока switch после выполнения соответствующего случая. Без break выполнение продолжится до конца блока switch. default обрабатывает случаи, когда значение userInput не соответствует ни одному из указанных case.
break и его роль
break — разделитель между кейсами. В switch-case нет фигурных скобок для разделения блоков кода, поэтому break указывает на конец обработчика текущего case.
Сравнение switch-case и if-else
switch-case и if-else выполняют похожие функции. if-else позволяет проверять различные условия, в то время как switch-case проверяет одну переменную на соответствие множеству значений. if-else использует не только оператор равенства (==), но и другие операторы сравнения (>, <, >=, <=, !=). switch-case проверяет только на равенство.
Преимущества switch-case
switch-case более читабелен и удобен при проверке одной переменной на большое количество различных значений. В таких случаях использование if-else делает код громоздким и менее наглядным.
Оператор switch-case — мощный инструмент для проверки одной переменной на множество значений. Он позволяет писать более чистый и понятный код, чем при использовании множества вложенных if-else конструкций. Хотя if-else более универсален, switch-case предпочтительнее для задач, где необходимо проверить переменную на множество конкретных значений.