Операторы перехода (goto)
Часть раздела Логика и управление потоком путешествия по C# на Coddy. Урок 20 из 66.
Инструкция goto в C# позволяет напрямую передать управление к оператору с меткой в том же методе.
Создайте метку в своём коде:
start:Используйте оператор goto, чтобы перейти к этой метке:
goto start;Вот простой пример, в котором goto используется для создания цикла:
int i = 0;
start:
if (i < 5)
{
Console.WriteLine(i);
i++;
goto start;
}После выполнения приведённого выше кода вывод будет таким:
0
1
2
3
4Хотя goto существует в C#, обычно рекомендуется вместо него использовать структурированные операторы управления потоком (if, for, while и т. д.), поскольку они делают код более читаемым и удобным для сопровождения.
Задание
ЛегкоСоздай метод с именем ProcessCommands, который принимает один аргумент:
- Строка (
command), содержащая команду для обработки.
Метод должен реализовать простой обработчик команд с использованием операторов goto:
- Если команда — "start", выведи "Starting process", а затем перейди к метке "end"
- Если команда — "stop", выведи "Stopping process", а затем перейди к метке "end"
- Если команда — "pause", выведи "Pausing process", а затем перейди к метке "end"
- Если команда имеет любое другое значение, выведи "Unknown command", а затем перейди к метке "end"
- На метке "end" выведи “Command processed”
Попробуйте сами
using System;
public class Program
{
public static void ProcessCommands(string command)
{
// Напишите ваш код здесь
}
public static void Main(string[] args)
{
string command = Console.ReadLine();
ProcessCommands(command);
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком
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#