Оператор 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"