Как использовать оператор Switch в C#
Программирование

Как использовать оператор Switch в C#

Приведите в порядок неудобные повторяющиеся операторы if с помощью удобной функции языка

В приложениях часто бывает так, что определенные события происходят только при определенных условиях. Для обработки этих событий можно использовать различные типы условных операторов. К ним относятся операторы if, if-else, switch и другие

Операторы switch могут быть чистым способом организации набора условий. Это особенно актуально, если вы не хотите использовать цепочку из нескольких if-заявлений, или если вы сравниваете значение одной конкретной переменной

Операторы switch можно создавать во многих языках программирования, включая C#

Как добавить различные случаи в оператор switch

В большинстве языков, включая Python, C и JavaScript, используются различные условные операторы. Важно понимать, как работает каждый из них и когда его целесообразно использовать

Операторы switch содержат несколько различных ‘случаев’. Оператор switch выбирает определенное значение, которое затем сравнивается с определенными случаями. Это позволяет определить, какой участок кода должна выполнить программа

В C# вы можете попрактиковаться в написании оператора switch в простом консольном приложении C#

  1. Создайте новое консольное приложение C#. Откройте Visual Studio и выберите Create a new project.
  2. Выберите Console Application и нажмите Next.
  3. Назовите свой проект и выберите место, где вы хотите его хранить. Нажмите на кнопку Next.
  4. Оставьте целевой фреймворк по умолчанию и нажмите Создать. Ваше приложение C# откроет программу Hello World по умолчанию.
  5. Замените текущий оператор печати ‘Hello World’ в функции Main(). Вместо этого попросите пользователя выбрать из списка опций. Предложите пользователю ввести свой выбор в консольное приложение:// Display a list of options to the user
    Console.WriteLine('Choose an option:');
    Console.WriteLine('1. Fruit');
    Console.WriteLine('2. Mains');
    Console.WriteLine('3. Desserts');
    Console.WriteLine('');

    // Request user input
    Console.Write('>> ');
    string meals = Console.ReadLine().ToLower();

  6. Добавьте оператор switch, чтобы выводить пользователю разные сообщения в зависимости от того, что он вводит в консоль. Введите пользовательский ввод (переменная meals) в оператор switch.switch (meals)
    {
    // Case options and conditional code goes in here
    }
  7. Внутри оператора switch добавьте случаи для каждого из возможных вариантов, которые может выбрать пользователь. Для каждого варианта добавьте различные операторы печати. Если вводимые пользователем данные соответствуют какому-либо случаю, будет выполняться определенный код для этого случая. Ключевое слово break заставляет программу выйти из оператора switch и начать выполнение кода, который следует за ним.switch (meals)
    {
    // Add different cases and print statements depending on the user's input
    case 'fruit':
    Console.WriteLine('Fruits include apples, oranges, and bananas.');
    break;

    case 'mains':
    Console.WriteLine('Mains include steak, salmon, or risotto.');
    break;

    case 'desserts':
    Console.WriteLine('Desserts include chocolate cake, apple pie, or ice cream.');
    break;
    }

  8. Нажмите на зеленую кнопку play в верхней части окна Visual Studio, чтобы запустить программу.
  9. Введите слово ‘Фрукты’, ‘Блюда’ или ‘Десерты’. В зависимости от того, какую строку вы введете в консольное приложение, будет выводиться разное утверждение.

Переключающие утверждения с использованием чисел

Вместо того чтобы пользователь вводил строку, например, ‘Фрукты’, он может ввести соответствующее число, например, ‘1’. Чтобы это сработало, вы можете использовать числа в качестве опций оператора switch

  1. Перед оператором switch проверьте, что пользователь вводит число. Это необходимо потому, что даже если пользователь введет число в консоль, программа все равно сохранит его как строку. Если вы не подтвердите это, вы можете получить ошибку компиляции или исключение при запуске приложения. В этом случае вам придется отлаживать его с помощью Visual Studio.int result = 1;

    try
    {
    // Attempt to convert the user's input into a number
    result = Int32.Parse(meals);
    }
    catch (FormatException)
    {
    // If the user's input is invalid, display a warning and exit the application
    Console.WriteLine($''{meals}' is an invalid format. Please enter a number.');
    System.Environment.Exit(1);
    }

  2. Замените текущий оператор switch. Вместо строк для опций case используйте числа. В этом случае, если пользователь наберет ‘1’, программа выполнит код из первого регистра.switch (result)
    {
    // Use numbers as options for the different cases
    case 1:
    Console.WriteLine('You selected option 1 (Fruit), which includes apples, oranges, and bananas.');
    break;

    case 2:
    Console.WriteLine('You selected option 2 (Mains), which includes steak, salmon, or risotto.');
    break;

    case 3:
    Console.WriteLine('You selected option 3 (Desserts), which includes chocolate cake, apple pie or ice cream.');
    break;
    }

  3. Нажмите на зеленую кнопку play в верхней части окна Visual Studio, чтобы запустить программу.
  4. В консольном приложении введите число, соответствующее одному из вариантов, например ‘1’, ‘2’ или ‘3’. Вывод будет отличаться в зависимости от того, какое число вы введете в консоль.

Как добавить регистр по умолчанию в утверждение Switch

Пользователь также может ввести число, которое не входит в список доступных вариантов, например, ‘4’. В этом случае оператор switch все равно будет работать с этим значением. Однако, поскольку оно не соответствует ни одному из случаев, ни один из кодов не будет выполнен. Вы можете добавить случай по умолчанию для каждого другого варианта, который может встретиться

  1. Замените оператор switch на новый, включающий случай по умолчанию в нижней части:switch (result)
    {
    case 1:
    Console.WriteLine('You selected option 1 (Fruit), which includes apples, oranges, and bananas.');
    break;

    case 2:
    Console.WriteLine('You selected option 2 (Mains), which includes steak, salmon, or risotto.');
    break;

    case 3:
    Console.WriteLine('You selected option 3 (Desserts), which includes chocolate cake, apple pie or ice cream.');
    break;

    // Additional default case to catch other invalid options
    default:
    Console.WriteLine('The number you entered is not part of the available options.');
    break;
    }

  2. Нажмите на зеленую кнопку play в верхней части окна Visual Studio, чтобы запустить программу.
  3. В консольном приложении введите число, находящееся вне диапазона вариантов, например ‘4’, чтобы получить вывод в случае по умолчанию.

Использование выражений Switch в приложении

Вы можете использовать оператор switch в C# для организации кода, который будет выполняться только при определенных условиях. Использование switch часто является более чистой и надежной альтернативой серии операторов if

Другие концепции программирования, которые вы можете изучить, включают классы или структуры. Это также важные концепции программирования, которые вы можете использовать, чтобы сохранить ваш код хорошо организованным

Об авторе

Алексей Белоусов

Привет, меня зовут Филипп. Я фрилансер энтузиаст . В свободное время занимаюсь переводом статей и пишу о потребительских технологиях для широкого круга изданий , не переставая питать большую страсть ко всему мобильному =)

Комментировать

Оставить комментарий