Главная страница » C# » 53. Конструкция Switch
switch в C#switch — это управляющая конструкция, которая позволяет выбрать один из нескольких вариантов выполнения кода в зависимости от значения выражения. Она удобна, когда есть несколько условий, которые зависят от одного значения.
switch (выражение)
{
case значение1:
// Код для первого случая
break;
case значение2:
// Код для второго случая
break;
default:
// Код по умолчанию, если не совпало ни одно значение
break;
}
выражение — переменная или значение, которое сравнивается с case.case — возможные значения.break — завершает выполнение switch, чтобы не выполнялись следующие case.default — выполняется, если ни одно значение не совпало.
int day = 3;
switch (day)
{
case 1:
Console.WriteLine("Понедельник");
break;
case 2:
Console.WriteLine("Вторник");
break;
case 3:
Console.WriteLine("Среда");
break;
case 4:
Console.WriteLine("Четверг");
break;
case 5:
Console.WriteLine("Пятница");
break;
case 6:
case 7:
Console.WriteLine("Выходной!");
break;
default:
Console.WriteLine("Некорректный номер дня");
break;
}
Среда
day == 3, программа выведет "Среда".case 6: и case 7: объединены, так как оба означают выходной.
char operation = '+';
int a = 5, b = 3;
int result;
switch (operation)
{
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
result = (b != 0) ? a / b : 0;
break;
default:
Console.WriteLine("Неизвестная операция");
return;
}
Console.WriteLine($"Результат: {result}");
operation = '+', программа выполнит a + b и выведет:
Результат: 8
switch с string (пример с меню)
string command = "start";
switch (command)
{
case "start":
Console.WriteLine("Запуск программы...");
break;
case "stop":
Console.WriteLine("Остановка программы.");
break;
default:
Console.WriteLine("Неизвестная команда.");
break;
}
Если command == "start", программа напечатает:
Запуск программы...
switch без break (падение вниз)Если не использовать break, выполнение продолжится в следующем case.
int number = 2;
switch (number)
{
case 1:
Console.WriteLine("Один");
case 2:
Console.WriteLine("Два");
case 3:
Console.WriteLine("Три");
default:
Console.WriteLine("Конец");
}
Вывод:
Два
Три
Конец
❗ Без break выполнение продолжается до конца switch.
switch с return (без break)
string GetDayName(int day)
{
return day switch
{
1 => "Понедельник",
2 => "Вторник",
3 => "Среда",
4 => "Четверг",
5 => "Пятница",
6 or 7 => "Выходной",
_ => "Некорректный день"
};
}
Console.WriteLine(GetDayName(5)); // Пятница
switch удобен для работы с фиксированными значениями.switch-выражения.break обязателен в классическом switch, но не нужен в switch-выражениях.switch, если if-else становится громоздким.Используйте switch для удобства и читаемости кода! 🚀
Напишите программу, которая запрашивает у пользователя число от 1 до 4 и выводит соответствующее время года:
1 → "Зима"2 → "Весна"3 → "Лето"4 → "Осень""Некорректное значение"
using System;
class Program
{
static void Main()
{
Console.Write("Введите число (1-4): ");
int season = Convert.ToInt32(Console.ReadLine());
string result = season switch
{
1 => "Зима",
2 => "Весна",
3 => "Лето",
4 => "Осень",
_ => "Некорректное значение"
};
Console.WriteLine(result);
}
}
Попробуйте написать и запустить этот код, чтобы убедиться в правильности выполнения операций и особенностях работы с числами с плавающей точкой.
Телефон: +375 33 910-08-92
Email: info@codefor.tech
Адрес: г. Барановичи, ул. Пирогова, д. 7
© 2024-2025 Все права защищены. CodeFor.
Язык сайта: