C # foreach loop (con ejemplos)

En este artículo, aprenderemos sobre los bucles foreach (una alternativa al bucle for) y cómo utilizarlos con matrices y colecciones.

C # proporciona una alternativa fácil de usar y más legible al bucle for, el bucle foreach cuando se trabaja con matrices y colecciones para iterar a través de los elementos de matrices / colecciones. El bucle foreach itera a través de cada elemento, por lo que se llama bucle foreach.

Antes de seguir adelante con foreach loop, visite:

  • C # para bucle
  • Matrices de C #
  • Colecciones de C #

Sintaxis de foreach loop

 foreach (elemento en iterable-item) (// cuerpo del bucle foreach) 

Aquí el elemento iterable puede ser una matriz o una clase de colección.

¿Cómo funciona el bucle foreach?

La inpalabra clave utilizada junto con foreach loop se utiliza para iterar sobre el elemento iterable. La palabra clave in selecciona un elemento del elemento iterable en cada iteración y lo almacena en el elemento variable.

En la primera iteración, el primer elemento de iterable-item se almacena en element. En la segunda iteración, se selecciona el segundo elemento y así sucesivamente.

El número de veces que se ejecutará el ciclo foreach es igual al número de elementos de la matriz o colección.

Aquí hay un ejemplo de iteración a través de una matriz usando el bucle for:

Ejemplo 1: Impresión de una matriz usando for loop

 using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( char() myArray = ('H','e','l','l','o'); for(int i = 0; i < myArray.Length; i++) ( Console.WriteLine(myArray(i)); ) ) ) ) 

La misma tarea se puede realizar utilizando el bucle foreach.

Ejemplo 2: impresión de una matriz usando foreach loop

 using System; namespace Loop ( class ForEachLoop ( public static void Main(string() args) ( char() myArray = ('H','e','l','l','o'); foreach(char ch in myArray) ( Console.WriteLine(ch); ) ) ) ) 

Cuando ejecutamos el programa ambos, la salida será:

 Hola 

En el programa anterior, el bucle foreach itera sobre la matriz, myArray. En la primera iteración, el primer elemento, es decir, myArray (0), se selecciona y se almacena en el cap.

De manera similar, en la última iteración, se selecciona el último elemento, es decir, myArray (4). Dentro del cuerpo del bucle, se imprime el valor de ch.

Cuando miramos ambos programas, el programa que usa foreach loop es más legible y fácil de entender. Esto se debe a su sintaxis simple y expresiva.

Por lo tanto, se prefiere el bucle foreach sobre el bucle for cuando se trabaja con matrices y colecciones.

Ejemplo 3: atravesar una matriz de género usando foreach loop

Este programa calcula el número de candidatos masculinos y femeninos.

 using System; namespace Loop ( class ForEachLoop ( public static void Main(string() args) ( char() gender = ('m','f','m','m','m','f','f','m','m','f'); int male = 0, female = 0; foreach (char g in gender) ( if (g == 'm') male++; else if (g =='f') female++; ) Console.WriteLine("Number of male = (0)", male); Console.WriteLine("Number of female = (0)", female); ) ) ) 

Cuando ejecutamos el programa, la salida será:

 Número de hombres = 6 Número de mujeres = 4 

Ejemplo 4: bucle foreach con List (Colección)

Este programa calcula la suma de elementos en una lista.

 using System; using System.Collections.Generic; namespace Loop ( class ForEachLoop ( public static void Main(string() args) ( var numbers = new List() (5,-8,3,14,9,17,0,4); int sum = 0; foreach(int number in numbers) ( sum += number; ) Console.WriteLine("Sum = (0)", sum); ) ) ) 

Cuando ejecutamos el programa, la salida será:

 Suma = 44

En este programa, el bucle foreach se usa para atravesar una colección. Atravesar una colección es similar a atravesar una matriz.

El primer elemento de la colección se selecciona en la primera iteración, el segundo elemento en la segunda iteración y así sucesivamente hasta el último elemento.

Articulos interesantes...