El bucle foreach
Itere sin índices
El bucle foreach es una lección gratuita de C# Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C# Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C# Academy incluye 4 lecciones en total.
¿Qué es foreach?
El bucle foreach le permite visitar todos los elementos de una colección, uno por uno.
No tiene que gestionar un índice ni un contador. C# recorre la colección por usted y entrega cada elemento a una variable que usted elige.
Es la forma más clara de leer todos los elementos de un array o una lista.
Sintaxis básica
La estructura es sencilla: foreach (var item in collection) seguida de un cuerpo.
En cada iteración, item contiene el siguiente elemento. El bucle termina automáticamente después del último.
foreach (var name in names)
{
Console.WriteLine(name);
}Su primer foreach
Recorramos un array de cadenas e imprimamos cada nombre.
Observe que no hay ningún índice ni ninguna comprobación de longitud. El bucle simplemente visita cada elemento en orden.
string[] names = { "Ada", "Linus", "Grace" };
foreach (var name in names)
{
Console.WriteLine(name);
}La variable de bucle
La variable de bucle (en este caso, n) es una copia nueva que se crea para cada elemento.
Puede usar el nombre que quiera. Elija uno que describa el elemento, como number o n.
int[] scores = { 90, 75, 88 };
foreach (var n in scores)
{
Console.WriteLine(n);
}Usar var frente a un tipo explícito
Puede escribir explícitamente el tipo del elemento en lugar de usar var.
Ambas opciones funcionan igual. var permite que el compilador infiera el tipo, lo que mantiene el código breve.
int[] scores = { 90, 75, 88 };
foreach (int score in scores)
{
Console.WriteLine(score);
}Realizar acciones en el cuerpo
El cuerpo del bucle puede hacer cualquier cosa: cálculos, condiciones o crear un total.
Aquí añadimos cada valor a una suma acumulada e imprimimos el resultado después del bucle.
int[] nums = { 4, 8, 15 };
int total = 0;
foreach (var x in nums)
{
total += x;
}
Console.WriteLine(total);foreach con condiciones
Puede colocar un if dentro del bucle para actuar solo sobre determinados elementos.
Este ejemplo imprime únicamente los números pares del array.
int[] nums = { 1, 2, 3, 4, 5, 6 };
foreach (var x in nums)
{
if (x % 2 == 0)
Console.WriteLine(x);
}foreach lee, no reemplaza
La variable de bucle es de solo lectura dentro del bucle. No puede reasignarla para cambiar la colección.
Esta línea provocaría un error de compilación, porque la variable de foreach es inmutable.
foreach (var x in nums)
{
x = x + 1; // ERROR: cannot assign to iteration variable
}Recorrer caracteres
Una cadena es una secuencia de caracteres, por lo que también puede recorrerla con foreach.
En cada iteración obtiene un char del texto.
string word = "code";
foreach (var c in word)
{
Console.WriteLine(c);
}Cuándo usar foreach
Use foreach cuando quiera visitar todos los elementos y no necesite el índice.
Si necesita la posición o quiere modificar la colección mientras la recorre, un bucle for es más adecuado.
foreach frente a for
Un bucle for gestiona un contador y utiliza índices, como en arr[i].
foreach oculta esa mecánica. Es más breve y evita errores por desfases de índices cuando solo necesita leer cada elemento.
for (int i = 0; i < names.Length; i++)
{
Console.WriteLine(names[i]);
}Comprobación rápida
Compruebe cuánto ha aprendido sobre el bucle foreach.
Resumen
Ha aprendido que foreach visita todos los elementos de una colección sin utilizar un índice.
La variable de bucle es una copia de solo lectura de cada elemento. Use foreach para lecturas claras y for cuando necesite la posición o quiera modificar elementos.
Preguntas frecuentes
¿La lección «El bucle foreach» es gratis?
Sí — el texto completo de «El bucle foreach» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C# Academy, actualiza a CoddyKit PRO. El curso de C# Academy incluye 4 lecciones en total.
¿Qué aprenderé en «El bucle foreach»?
Itere sin índices Practicas C# Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar C# Academy?
No se requiere experiencia previa. C# Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «El bucle foreach»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de C# Academy?
Sí. Cada lección de C# Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- El bucle foreach
- Iterar colecciones
- break y continue
- Errores habituales al iterar