foreach, in (Referencia de C#)

La instrucción foreach repite un grupo de instrucciones incrustadas para cada elemento de una matriz o colección de objetos que implementa la interfaz System.Collections.IEnumerable o System.Collections.Generic.IEnumerable<T>. La instrucción foreach se utiliza para recorrer la colección en iteración y obtener la información deseada, pero no se puede utilizar para agregar o quitar elementos de la colección de origen, ya que se pueden producir efectos secundarios imprevisibles. Si necesita agregar o quitar elementos de la colección de origen, utilice un bucle for.

Las instrucciones del bucle siguen ejecutándose para cada elemento de la matriz o la colección. Cuando ya se han recorrido todos los elementos de la colección, el control se transfiere a la siguiente instrucción fuera del bloque foreach.

En cualquier punto dentro del bloque foreach, puede salir del bucle utilizando la palabra clave break o pasando directamente a la iteración siguiente del bucle mediante la palabra clave continue.

También se puede salir de un bucle foreach mediante las instrucciones goto, return o throw.

Para obtener más información acerca de la palabra clave foreach, incluidos ejemplos de código, vea los temas siguientes:

Utilizar foreach con matrices (Guía de programación de C#)

Cómo: Obtener acceso a una clase de colección mediante Foreach (Guía de programación de C#)

Ejemplo

En este ejemplo, foreach se utiliza para mostrar el contenido de una matriz de enteros.

    class ForEachTest
    {
        static void Main(string[] args)
        {
            int[] fibarray = new int[] { 0, 1, 2, 3, 5, 8, 13 };
            foreach (int i in fibarray)
            {
                System.Console.WriteLine(i);
            }
        }
    }
    /*
    Output:
    0
    1
    2
    3
    5
    8
    13
    */

Especificación del lenguaje C#

Para obtener más información, vea la Especificación del lenguaje C#. La especificación del lenguaje es la fuente definitiva de la sintaxis y el uso de C#.

Vea también

Referencia

Palabras clave de C#

Instrucciones de iteración (Referencia de C#)

Conceptos

Guía de programación de C#

Otros recursos

Referencia de C#