Вложенные конструкции Switch
Часть раздела Логика и управление потоком путешествия по C# на Coddy. Урок 11 из 66.
Вложенные операторы switch позволяют помещать один оператор switch внутрь другого для принятия более сложных решений.
Создайте простой вложенный оператор switch:
string department = "Sales";
string level = "Senior";
switch (department)
{
case "Sales":
switch (level)
{
case "Junior":
Console.WriteLine("Sales Junior");
break;
case "Senior":
Console.WriteLine("Sales Senior");
break;
}
break;
case "IT":
switch (level)
{
case "Junior":
Console.WriteLine("IT Junior");
break;
case "Senior":
Console.WriteLine("IT Senior");
break;
}
break;
}Всегда включай операторы break, чтобы предотвратить переход к следующему case.
Не забывай делать код читаемым с помощью правильных отступов.
Задание
СреднеСоздай метод с именем calculatePrice, который:
- Принимает три параметра:
- productType (строка): либо "Electronics", "Clothing" или "Food"
- productTier (строка): либо "Basic", "Premium" или "Luxury"
- basePrice (целое число): исходная цена товара
- Возвращает итоговую цену (целое число) после применения следующих правил:
- Для электроники:
- Basic: прибавить $50 к исходной цене
- Premium: прибавить $100 к исходной цене
- Luxury: прибавить $250 к исходной цене
- Для одежды:
- Basic: прибавить $10 к исходной цене
- Premium: прибавить $50 к исходной цене
- Luxury: прибавить $100 к исходной цене
- Для еды:
- Basic: не менять исходную цену
- Premium: прибавить $15 к исходной цене
- Luxury: прибавить $30 к исходной цене
- Для любого другого типа товара или уровня вернуть исходную цену без изменений
- Для электроники:
Попробуйте сами
public class CalculatePrice
{
// Реализуйте метод calculatePrice
public static int calculatePrice(string productType, string productTier, int basePrice)
{
// Напишите здесь свой код
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком
1Многомерные массивы
Основы 2D-массивовОбъявление и инициализация 2D-массивовДоступ к элементам 2D-массиваВложенные циклы с 2D-массивамиЗубчатые массивыОсновные операции с матрицамиПовторение — многомерные массивы4Методы управления потоком выполнения
Досрочный выходЗащитные условияОператоры перехода (goto)Break и ContinueУпрощение вложенных условных конструкций7Логические операторы: продвинутый уровень
Вычисление с коротким замыканиемУсловные логические операторыПриоритет операторовПовторение — продвинутые операторы2Продвинутое принятие решений
Множественные условияСложная логика BooleanСравнение If и SwitchВложенные конструкции SwitchПовторение — продвинутые решения5Обработка исключений
Основы Try-CatchТипы исключенийНесколько блоков CatchРабота с файламиБлок FinallyИспользование Using вместо Try-FinallyПользовательские исключенияПовторение — обработка ошибок3Улучшение циклов
Производительность цикловИтерация по сложным структурамКаждый тип циклаРефакторинг цикловПовторение — оптимизированные циклы6Обработка null
Основы ссылок на nullТипы значений, допускающие nullШаблоны проверки на nullЗащитное программированиеПовторение — безопасность при работе с nullПотренируйтесь самостоятельно: Онлайн-компилятор C#