Введение
Программирование во многом состоит из принятия решений. В C#, как и во многих других языках программирования, для управления ходом выполнения программы используются операторы выбора. Они позволяют программе выбирать разные пути выполнения в зависимости от условий. Сегодня мы рассмотрим два основных оператора выбора в C#: if-else
и switch
.
1. Оператор if-else
Оператор if
используется для выполнения кода, если определенное условие истинно. Структура if
выглядит так:
if (условие)
{
// Код для выполнения, если условие истинно
}
Пример
int number = 4;
if (number < 5)
{
Console.WriteLine("Число меньше 5.");
}
В этом примере, если переменная number
меньше 5, консоль выведет сообщение “Число меньше 5”.
Расширение: if-else и if-else if-else
if
может быть расширен с использованием else
и else if
. else
выполняется, когда условие в if
ложно. else if
позволяет проверить еще одно условие, если предыдущее было ложным.
Пример
if (number < 5)
{
Console.WriteLine("Число меньше 5.");
}
else if (number == 5)
{
Console.WriteLine("Число равно 5.");
}
else
{
Console.WriteLine("Число больше 5.");
}
2. Оператор switch
Оператор switch
выбирает для выполнения один из множества блоков кода, в зависимости от значения переменной.
Пример
int month = 4;
switch (month)
{
case 1:
Console.WriteLine("Январь");
break;
case 2:
Console.WriteLine("Февраль");
break;
// и так далее для остальных месяцев
default:
Console.WriteLine("Неизвестный месяц");
break;
}
Объяснение
В этом примере switch
проверяет значение month
, и когда находит совпадение с одним из случаев (case
), выполняет соответствующий блок кода. Ключевое слово break
используется для выхода из блока switch
. Если ни один случай не совпал, выполняется блок default
.
switch с новыми возможностями в C# 8.0 и выше
Начиная с C# 8.0, switch
можно использовать в более современном стиле с использованием выражений (switch expressions), что делает код компактнее и читаемее.
Пример
string season = month switch
{
12 or 1 or 2 => "Зима",
3 or 4 or 5 => "Весна",
6 or 7 or 8 => "Лето",
9 or 10 or 11 => "Осень",
_ => "Неизвестный месяц"
};
Console.WriteLine(season);
Здесь switch
используется как выражение, присваивающее переменной season
значение в зависимости от month
. Использование _
в качестве последнего случая обеспечивает покрытие всех возможных значений, работая как default
в традиционном switch
.
Заключение
Операторы выбора — важная часть языка C#. Их понимание и умелое использование могут существенно упростить структуру вашего кода и сделать его более читаемым. Экспериментируйте с примерами и пробуйте создавать свои сценарии использования этих операторов, чтобы лучше понять, как они работают и как могут быть применены в ваших проектах.