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

Ветка default

Метка default в операторе switch задаёт запасной блок, когда ни одна ветка case не совпала с управляющим выражением. В инструкции default может быть только одна. В выражении switch ту же роль играет шаблон _.

Синтаксис

switch (выражение) { case значение: break; default: // код, если нет совпадений break; }

Пример

Давайте выведем default для неизвестного числа:

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

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

"other"

Пример

Давайте пропустим default, когда есть подходящий case:

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"

Пример

Давайте обработаем строку, не равную "abcde":

using System; class Program { static void Main() { string str = "12345"; switch (str) { case "abcde": Console.WriteLine("match"); break; default: Console.WriteLine("no match"); break; } } }

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

"no match"

Пример

Давайте используем default вместе с охраной when, когда все case отсеялись:

using System; class Program { static void Main() { int num = 1; switch (num) { case 1 when num < 0: Console.WriteLine("never"); break; default: Console.WriteLine("fallback"); break; } } }

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

"fallback"

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

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