Menu
Coddy logo textTech

Оператор switch

Часть раздела Основы путешествия по C# на Coddy. Урок 27 из 69.

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

Вот базовая структура оператора switch:

switch (variable) {
    case value1:
        // Код для выполнения, если variable равно value1
        break;
    case value2:
        // Код для выполнения, если variable равно value2
        break;
    // ... больше случаев
    default:
        // Код для выполнения, если ни один case не совпадает
        break;
}
  • За ключевым словом switch в скобках следует переменная, которую вы хотите проверить.
  • Каждый case представляет возможное значение переменной.
  • Код внутри каждого case выполняется, если переменная matches значение этого case.
  • Инструкция break крайне важна: она выходит из switch после выполнения варианта. Без неё выполнение «провалилось бы» в следующий вариант.
  • Случай default необязателен и выполняется, если ни один другой случай не совпадает.

Вот пример:

int day = 3;
string dayName;

switch (day) {
    case 1:
        dayName = "Monday";
        break;
    case 2:
        dayName = "Tuesday";
        break;
    // ... cases для других дней
    default:
        dayName = "Invalid day";
        break;
}

Вы также можете объединить несколько cases в один:

int day = 3;
string dayName;

switch (day) {
    case 1:
    case 2:
    case 3:
        dayName = "Start of week";
        break;
    // ... cases для других дней
    default:
        dayName = "Invalid day";
        break;
}
challenge icon

Задание

Новичок

Создай программу, которая принимает номер месяца (1 для января, 2 для февраля и т. д.) и выводит сезон, к которому он относится. Используй оператор switch для реализации логики.

Сезоны и соответствующие им месяцы:

  • Winter: декабрь (12), январь (1), февраль (2)
  • Spring: март (3), апрель (4), май (5)
  • Summer: июнь (6), июль (7), август (8)
  • Autumn: сентябрь (9), октябрь (10), ноябрь (11)

Попробуйте сами

using System;

public class Program {
    public static void Main(string[] args) {
        int month = int.Parse(Console.ReadLine());
        string season = "";
        
        // Напишите ваш код ниже
        
        
        Console.WriteLine(season);
    }
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Онлайн-компилятор C#