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

Выражение switch

Выражение switch сравнивает значение с вариантами и сразу даёт результат выражения. Слева - проверяемое значение, справа после switch - список веток "значение => результат" и запасной вариант _. Инструкция switch выполняет код в ветках, а не возвращает значение.

Синтаксис

результат = значение switch { вариант1 => результат1, вариант2 => результат2, _ => результатПоУмолчанию };

Пример

Давайте получим текстовую метку для числа 2:

using System; class Program { static void Main() { int num = 2; string res = num switch { 1 => "one", 2 => "two", _ => "other" }; Console.WriteLine(res); } }

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

"two"

Пример

Давайте обработаем значение через запасную ветку _:

using System; class Program { static void Main() { int num = 7; string res = num switch { 1 => "one", 2 => "two", _ => "other" }; Console.WriteLine(res); } }

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

"other"

Пример

Давайте выберем код по первому символу строки:

using System; class Program { static void Main() { string str = "abcde"; char ch = str[0]; string res = ch switch { 'a' => "starts with a", '1' => "starts with digit", _ => "other start" }; Console.WriteLine(res); } }

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

"starts with a"

Пример

Давайте вложим выражение switch в более крупное выражение:

using System; class Program { static void Main() { int num = 3; int res = (num switch { 1 => 10, 2 => 20, _ => 30 }) + 5; Console.WriteLine(res); } }

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

35

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

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