Menu
Coddy logo textTech

Jump Statements (goto)

Parte da seção Lógica & Fluxo do Journey de C# da Coddy — lição 20 de 66.

A instrução goto em C# fornece uma maneira de transferir o controle diretamente para uma instrução rotulada dentro do mesmo método.

Crie um rótulo no seu código:

start:

Use a instrução goto para saltar para aquele rótulo:

goto start;

Aqui está um exemplo simples que usa goto para criar um loop:

int i = 0;

start:
if (i < 5)
{
    Console.WriteLine(i);
    i++;
    goto start;
}

Após executar o código acima, a saída será:

0
1
2
3
4

Embora goto exista no C#, é geralmente recomendado usar instruções de controle de fluxo estruturadas (if, for, while, etc.) em vez disso, pois elas tornam o código mais legível e manutenível.

challenge icon

Desafio

Fácil

Crie um método chamado ProcessCommands que recebe um argumento:

  • Uma string (command) que contém um comando para processar.

O método deve implementar um processador de comandos simples usando instruções goto:

  • Se o comando for "start", imprima "Starting process" e depois vá para o rótulo "end"
  • Se o comando for "stop", imprima "Stopping process" e depois vá para o rótulo "end"
  • Se o comando for "pause", imprima "Pausing process" e depois vá para o rótulo "end"
  • Se o comando for qualquer outra coisa, imprima "Unknown command" e depois vá para o rótulo "end"
  • No rótulo "end", imprima “Command processed”

Folha de consulta

A instrução goto transfere o controle diretamente para uma instrução rotulada dentro do mesmo método.

Crie um rótulo:

start:

Pule para um rótulo usando goto:

goto start;

Exemplo usando goto para criar um loop:

int i = 0;

start:
if (i < 5)
{
    Console.WriteLine(i);
    i++;
    goto start;
}

Embora o goto exista no C#, instruções de fluxo de controle estruturado (if, for, while, etc.) são geralmente recomendadas para melhor legibilidade e manutenibilidade do código.

Experimente você mesmo

using System;

public class Program
{
    public static void ProcessCommands(string command)
    {
        // Escreva seu código aqui
    }
    
    public static void Main(string[] args)
    {
        string command = Console.ReadLine();
        ProcessCommands(command);
    }
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica & Fluxo