C# Language para cada


Ejemplo

foreach se utiliza para iterar sobre los elementos de una matriz o los elementos dentro de una colección que implementa IEnumerable ✝.

var lines = new string[] { 
    "Hello world!", 
    "How are you doing today?", 
    "Goodbye"
};

foreach (string line in lines)
{
    Console.WriteLine(line);
}

Esto dará salida

"¡Hola Mundo!"
"¿Cómo estás hoy?"
"Adiós"

Demo en vivo en .NET Fiddle

Puede salir del bucle foreach en cualquier momento utilizando la palabra clave break o pasar a la siguiente iteración utilizando la palabra clave continue .

var numbers = new int[] {1, 2, 3, 4, 5, 6};

foreach (var number in numbers)
{
    // Skip if 2
    if (number == 2)
        continue;

    // Stop iteration if 5
    if (number == 5)
        break;

    Console.Write(number + ", ");
}

// Prints: 1, 3, 4, 

Demo en vivo en .NET Fiddle

Tenga en cuenta que el orden de iteración está garantizado solo para ciertas colecciones como matrices y List , pero no está garantizado para muchas otras colecciones.


✝ Si bien IEnumerable se usa generalmente para indicar colecciones enumerables, foreach solo requiere que la colección exponga públicamente el método object GetEnumerator() del object GetEnumerator() , que debe devolver un objeto que expone el método bool MoveNext() y el object Current { get; } Propiedad.