Menu
Coddy logo textTech

Break and Continue

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

En C#, break y continue son declaraciones que te proporcionan un mayor control sobre la ejecución de los bucles.

La sentencia break

La sentencia break sale inmediatamente de un bucle:

for (int i = 1; i <= 10; i++)
{
    if (i == 5)
    {
        break; // Salir del bucle cuando i sea igual a 5
    }
    Console.WriteLine(i);
}

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

1
2
3
4

El bucle se detiene tan pronto como i es igual a 5, y la ejecución continúa con el código después del bucle.

La sentencia continue

La sentencia continue omite el resto de la iteración actual y salta a la siguiente iteración:

for (int i = 1; i <= 5; i++)
{
    if (i == 3)
    {
        continue; // Omitir el resto de esta iteración
    }
    Console.WriteLine(i);
}

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

1
2
4
5

El valor 3 no se imprime porque la instrucción continue omite el Console.WriteLine(i) para esa iteración.

challenge icon

Desafío

Fácil

Escribe un método llamado ProcessNumbers que toma un arreglo de enteros como parámetro. El método debe:

  1. Imprimir todos los números en el arreglo
  2. Omitir la impresión de cualquier número negativo (usa continue)
  3. Detener el procesamiento si encuentra un número mayor a 100 (usa break)
  4. Devolver la suma de todos los números que fueron impresos

Hoja de referencia

La instrucción break sale inmediatamente de un bucle:

for (int i = 1; i <= 10; i++)
{
    if (i == 5)
    {
        break; // Salir del bucle cuando i sea igual a 5
    }
    Console.WriteLine(i);
}

La instrucción continue omite el resto de la iteración actual y salta a la siguiente iteración:

for (int i = 1; i <= 5; i++)
{
    if (i == 3)
    {
        continue; // Omitir el resto de esta iteración
    }
    Console.WriteLine(i);
}

Pruébalo tú mismo

using System;

public class Program
{
    public static int ProcessNumbers(int[] numbers)
    {
        // Escribe tu código aquí
        return 0;
    }
    
    public static void Main(string[] args)
    {
        // Crear un array de muestra para pruebas inmediatas
        int[] numbers = { 5, -3, 10, 15, -7, 105, 20 };
        
        int sum = ProcessNumbers(numbers);
        Console.WriteLine("Sum: " + sum);
        
        // También intentar con entrada de usuario si se proporciona
        try
        {
            string input = Console.ReadLine();
            if (!string.IsNullOrEmpty(input))
            {
                string[] parts = input.Split(',');
                
                int[] inputNumbers = new int[parts.Length];
                for (int i = 0; i < parts.Length; i++)
                {
                    inputNumbers[i] = int.Parse(parts[i].Trim());
                }
                
                int inputSum = ProcessNumbers(inputNumbers);
                Console.WriteLine("Input Sum: " + inputSum);
            }
        }
        catch (Exception)
        {
            // Si hay un error con la entrada, solo continuar con el resultado de muestra
        }
    }
}
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