Оператор switch
Часть раздела Основы путешествия по C# на Coddy — урок 27 из 69.
Оператор switch подобен многостороннему оператору if. Вместо вычисления одного условия он проверяет значение переменной на соответствие нескольким вариантам и выполняет код, связанный с подходящим случаем.
Вот базовая структура оператора switch:
switch (variable) {
case value1:
// Код, который будет выполнен, если variable равно value1
break;
case value2:
// Код, который будет выполнен, если variable равно value2
break;
// ... больше вариантов
default:
// Код, который будет выполнен, если ни один вариант не подошел
break;
}- За ключевым словом
switchследует переменная, которую вы хотите проверить, в круглых скобках. - Каждый
caseпредставляет собой возможное значение переменной. - Код внутри каждого
caseвыполняется, если значение переменной совпадает со значением этого случая.
- Оператор
breakимеет решающее значение; он завершает выполнениеswitchпосле выполнения блока case. Без него выполнение «провалится» в следующий case.
- Инструкция
defaultявляется необязательной и выполняется, если ни один другой случай не совпал.
Вот пример:
int day = 3;
string dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
// ... случаи для других дней
default:
dayName = "Invalid day";
break;
}Вы также можете объединить несколько вариантов в один:
int day = 3;
string dayName;
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
// ... случаи для других дней
default:
dayName = "Invalid day";
break;
}Задание
НовичокСоздайте программу, которая принимает номер месяца (1 для января, 2 для февраля и т. д.) и выводит название времени года, к которому он относится. Используйте оператор switch для реализации логики.
Времена года и соответствующие им месяцы:
- Winter: Декабрь (12), Январь (1), Февраль (2)
- Spring: Март (3), Апрель (4), Май (5)
- Summer: Июнь (6), Июль (7), Август (8)
- Autumn: Сентябрь (9), Октябрь (10), Ноябрь (11)
Шпаргалка
Оператор switch представляет собой многоходовое условие, которое проверяет значение переменной на соответствие нескольким вариантам (кейсам):
switch (variable) {
case value1:
// Код, который выполнится, если variable равно value1
break;
case value2:
// Код, который выполнится, если variable равно value2
break;
default:
// Код, который выполнится, если ни один вариант не подошел
break;
}Основные компоненты:
case: представляет собой возможное значение для сопоставленияbreak: выходит из конструкции switch после выполнения кода в кейсе (предотвращает «проваливание» в следующий кейс)default: необязательный блок, который выполняется, если ни один из вариантовcaseне подошел
Вы можете объединять несколько вариантов:
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
default:
dayName = "Invalid day";
break;
}Попробуйте сами
using System;
public class Program {
public static void Main(string[] args) {
int month = int.Parse(Console.ReadLine());
string season = "";
// Напишите свой код ниже
Console.WriteLine(season);
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияИнкремент и декрементПостфиксный инкремент и декрементСокращенные арифметические операции7Основы ввода-вывода
Базовый выводИнтерполяция строкЧтение вводаПарсингПовторение — до 120Повторение — True или False5Операторы. Часть 2
Операторы сравненияЛогические операторы. Часть 1Логические операторы. Часть 2Повторение: простая логикаЛогические операторы. Часть 38Приложение-калькулятор
Приветственное сообщениеПолучение чисел3Переменные. Часть 2
VarКонстантыСоглашения об именованииПовторение: инициализация переменныхПриведение типов6Принятие решений
Оператор ifКонструкция if - elseОператор switchТернарный операторПовторение: if - elseВложенный if - else