Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
3 of 1492 menu
◀ ▶

Оператор switch

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

Синтаксис

switch (выражение) { case значение1: // код break; case значение2: // код break; default: // код break; }

Пример

Давайте выберем сообщение по числу 2:

using System; class Program { static void Main() { int num = 2; switch (num) { case 1: Console.WriteLine("one"); break; case 2: Console.WriteLine("two"); break; default: Console.WriteLine("other"); break; } } }

Результат выполнения кода:

"two"

Пример

Давайте обработаем значение, для которого нет отдельной ветки case:

using System; class Program { static void Main() { int num = 9; switch (num) { case 1: Console.WriteLine("one"); break; case 2: Console.WriteLine("two"); break; default: Console.WriteLine("other"); break; } } }

Результат выполнения кода:

"other"

Пример

Давайте объединим несколько case с одним блоком кода:

using System; class Program { static void Main() { int num = 3; switch (num) { case 1: case 2: case 3: Console.WriteLine("small"); break; default: Console.WriteLine("large"); break; } } }

Результат выполнения кода:

"small"

Пример

Давайте оформим ветку case отдельным блоком в фигурных скобках:

using System; class Program { static void Main() { int num = 1; switch (num) { case 1: { string msg = "first"; Console.WriteLine(msg); break; } default: Console.WriteLine("other"); break; } } }

Результат выполнения кода:

"first"

Смотрите также

  • выражение switch,
    которое возвращает значение по шаблону
  • метка case,
    которая задаёт вариант сравнения
  • ветка default,
    которая срабатывает без совпадения
  • условие when,
    которое уточняет выбор ветки
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить