Foreach en C#

La sentencia foreach en C# se utiliza para iterar sobre los elementos de una colección, como por ejemplo un array, una lista o un diccionario, sin necesidad de conocer la longitud o el tamaño de la colección de antemano.

La estructura del foreach es más simple que la del for, ya que el compilador se encarga de la complejidad interna.

El código foreach es más legible y menos propenso a errores que el código for, y también es más fácil de entender para los programadores que no están familiarizados con la estructura de control for.

Sintaxis

La sintaxis básica de la sentencia foreach es la siguiente:


foreach (tipoDeVariable variable in colección)
{
    // Código a ejecutar en cada iteración
}

Lenguaje del código: C# (cs)
  • La palabra clave foreach indica que se está usando esta estructura.
  • tipoDeVariable es el tipo de la variable que se utilizará para representar cada elemento de la colección. Puede ser cualquier tipo que sea compatible con los elementos de la colección.
  • variable es el nombre que se le da a cada elemento de la colección en la iteración actual.
  • colección es la colección que se va a recorrer.
  • El bloque de código entre llaves ({}) es el cuerpo del bucle, que se ejecutará una vez por cada elemento de la colección.

Durante cada iteración, la variable variable se asigna al siguiente elemento de la colección y se ejecuta el bloque de código.

Al final de cada iteración, el control vuelve al encabezado de la estructura foreach para comprobar si hay más elementos en la colección. Si no hay más elementos, se sale del bucle.

Ejemplos

Ejemplo 1:


int[] numeros = { 1, 2, 3, 4, 5 };

foreach (int num in numeros)
{
    Console.WriteLine(num);
}

Lenguaje del código: C# (cs)

En este ejemplo, se define un array de enteros llamado numeros y se utiliza un bucle foreach para iterar sobre cada elemento del array. En cada iteración, el valor del elemento se almacena en la variable num, que se utiliza para imprimir el valor en la consola.

Ejemplo 2:


List<string> nombres = new List<string> { "Juan", "Ana", "Luisa", "Carlos" };

foreach (string nombre in nombres)
{
    if (nombre.StartsWith("A"))
    {
        Console.WriteLine(nombre);
    }
}

Lenguaje del código: C# (cs)

En este ejemplo, se define una lista de strings llamada nombres y se utiliza un bucle foreach para iterar sobre cada elemento de la lista.

En cada iteración, el valor del elemento se almacena en la variable nombre, que se utiliza para verificar si el nombre comienza con la letra «A». Si es así, se imprime el nombre en la consola.