Menu
Coddy logo textTech

Jump Statements (goto)

Parte de la sección Lógica y Flujo del Journey de C# de Coddy — lección 20 de 66.

La instrucción goto en C# proporciona una forma de transferir el control directamente a una instrucción etiquetada dentro del mismo método.

Crea una etiqueta en tu código:

start:

Utilice la instrucción goto para saltar a esa etiqueta:

goto start;

Aquí tienes un ejemplo simple que utiliza goto para crear un bucle:

int i = 0;

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

Después de ejecutar el código anterior, la salida será:

0
1
2
3
4

Aunque goto existe en C#, generalmente se recomienda usar declaraciones de control de flujo estructuradas (if, for, while, etc.) en su lugar, ya que hacen que el código sea más legible y mantenible.

challenge icon

Desafío

Fácil

Crea un método llamado ProcessCommands que tome un argumento:

  • Una cadena (command) que contiene un comando para procesar.

El método debe implementar un procesador de comandos simple usando instrucciones goto:

  • Si el comando es "start", imprime "Starting process" y luego salta a la etiqueta "end"
  • Si el comando es "stop", imprime "Stopping process" y luego salta a la etiqueta "end"
  • Si el comando es "pause", imprime "Pausing process" y luego salta a la etiqueta "end"
  • Si el comando es cualquier otra cosa, imprime "Unknown command" y luego salta a la etiqueta "end"
  • En la etiqueta "end", imprime “Command processed”

Hoja de referencia

La instrucción goto transfiere el control directamente a una instrucción etiquetada dentro del mismo método.

Crear una etiqueta:

start:

Saltar a una etiqueta usando goto:

goto start;

Ejemplo usando goto para crear un bucle:

int i = 0;

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

Aunque goto existe en C#, las instrucciones de control de flujo estructurado (if, for, while, etc.) se recomiendan generalmente para una mejor legibilidad y mantenibilidad del código.

Pruébalo tú mismo

using System;

public class Program
{
    public static void ProcessCommands(string command)
    {
        // Escribe tu código aquí
    }
    
    public static void Main(string[] args)
    {
        string command = Console.ReadLine();
        ProcessCommands(command);
    }
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y Flujo