Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Lenguaje C

Bucles foreach en C#: Itera arrays y colecciones con facilidad

Bucles foreach en C#

Descubre cómo el bucle foreach simplifica la iteración sobre arrays y colecciones en C#, mejorando la legibilidad y el rendimiento.

En C#, el bucle foreach ofrece una alternativa más limpia y expresiva al bucle for tradicional al trabajar con arrays, listas y otras colecciones. Maneja automáticamente la indexación, haciendo tu código más fácil de leer y menos propenso a errores.

Antes de sumergirte, repasa estos temas fundamentales:


Sintaxis del bucle foreach

foreach (element in iterableItem) {
    // cuerpo del bucle foreach
}

El iterableItem puede ser un array, una lista o cualquier tipo que implemente IEnumerable.


Cómo funciona el bucle foreach

Bucles foreach en C#: Itera arrays y colecciones con facilidad

La palabra clave in selecciona cada elemento de iterableItem en cada iteración y se lo asigna a la variable element. El bucle se ejecuta una vez por elemento, por lo que el número de iteraciones es igual al número de elementos en la colección.


Ejemplo 1: Imprimiendo un array con bucle for

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]);
            }
        }
    }
}

Ejemplo 2: Imprimiendo un array con bucle foreach

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);
            }
        }
    }
}

Ambos programas producen:

H e l l o

La versión foreach es más corta, elimina cálculos de índice y reduce el riesgo de errores off-by-one.


Ejemplo 3: Contando hombres y mujeres en un array de género

Este ejemplo cuenta ocurrencias de 'm' y 'f' en un array.

using System;
namespace Loop {
    class GenderCount {
        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);
        }
    }
}

Salida:

Number of male = 6
Number of female = 4

Ejemplo 4: Sumando una lista con foreach

Usar un List<int> demuestra que foreach funciona perfectamente con colecciones genéricas.

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

Resultado:

Sum = 44

Tanto en escenarios de array como de colección, foreach entrega código más limpio y mantenible. Prefiérelo siempre que solo necesites leer elementos y no requieras manipulación directa de índices.

Lenguaje C

  1. Dominando bucles while y do-while en C#: Sintaxis, ejemplos y mejores prácticas
  2. Dominando el bucle for en C#: Sintaxis, flujo y ejemplos prácticos
  3. Dominando los Bucles for en C++: Guía Paso a Paso
  4. Bucles While y Do-While en C++: Dominando la Repetición en Tu Código
  5. Dominando el bucle for en C: sintaxis, funcionamiento y ejemplos prácticos
  6. Dominando bucles while y do-while en C: ejemplos prácticos
  7. Bucle do‑while en C++: Sintaxis, ejemplos prácticos y bucles anidados
  8. Dominando bucles for en Python: Sintaxis, ejemplos y patrones avanzados
  9. Dominando el bucle while en Python: Sintaxis, ejemplos y mejores prácticas
  10. Dominando control de bucles en Python: break y continue
  11. Dominar el Bucle for Mejorado en Java: Sintaxis, Ejemplos y Mejores Prácticas