Iterar colecciones
Listas, arrays y diccionarios
Iterar colecciones es una lección gratuita de C# Academy en CoddyKit. Esta es la lección 2 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.
Colecciones que puede recorrer
Muchos tipos de C# se pueden recorrer con foreach: arrays, List<T>, diccionarios y muchos más.
Todos admiten la iteración porque implementan una interfaz compartida. No necesita conocer los detalles para utilizarlos.
Recorrer un array
Los arrays tienen un tamaño fijo que se establece al crearlos.
Puede recorrer un array de cualquier tipo de elemento de la misma manera.
double[] prices = { 9.99, 4.50, 19.00 };
foreach (var p in prices)
{
Console.WriteLine(p);
}Recorrer una lista
Un List<T> puede crecer y reducirse. Es una de las colecciones más habituales.
Recorrerlo tiene exactamente el mismo aspecto que recorrer un array.
var fruits = new List<string> { "apple", "pear" };
foreach (var f in fruits)
{
Console.WriteLine(f);
}Contar mientras se recorre
A veces querrá usar un contador manual dentro de foreach.
Declare una variable antes del bucle e increméntela en cada iteración.
var items = new List<string> { "a", "b", "c" };
int i = 0;
foreach (var item in items)
{
Console.WriteLine(i + ": " + item);
i++;
}Recorrer un diccionario
Un Dictionary<K,V> almacena pares clave-valor.
Al recorrerlo, obtiene un KeyValuePair con .Key y .Value.
var ages = new Dictionary<string, int>
{
["Ada"] = 36,
["Linus"] = 54
};
foreach (var pair in ages)
{
Console.WriteLine(pair.Key + "=" + pair.Value);
}Claves y valores de un diccionario
Si solo necesita las claves o solo los valores, use las propiedades .Keys o .Values.
Cada una es, a su vez, una colección que puede recorrer.
foreach (var name in ages.Keys)
{
Console.WriteLine(name);
}Recorrer un HashSet
Un HashSet<T> almacena valores únicos. Los duplicados se ignoran.
Puede recorrerlo con foreach, pero el orden no está garantizado.
var tags = new HashSet<string> { "c#", "dotnet", "c#" };
foreach (var t in tags)
{
Console.WriteLine(t);
}Iteración anidada
Puede colocar un foreach dentro de otro para recorrer una colección de colecciones.
Esto recorre cada fila y, después, cada valor de esa fila.
int[][] grid = { new[] {1, 2}, new[] {3, 4} };
foreach (var row in grid)
{
foreach (var v in row)
{
Console.WriteLine(v);
}
}Construir un resultado
Un patrón habitual consiste en recorrer una colección y agregar elementos transformados a otra.
Aquí duplicamos cada número y almacenamos el resultado en una lista nueva.
var nums = new List<int> { 1, 2, 3 };
var doubled = new List<int>();
foreach (var n in nums)
{
doubled.Add(n * 2);
}
Console.WriteLine(string.Join(",", doubled));Colecciones vacías
Si una colección no tiene elementos, el cuerpo de foreach simplemente nunca se ejecuta.
No se produce ningún error. Esto hace que foreach sea seguro incluso cuando una lista puede estar vacía.
var empty = new List<int>();
foreach (var x in empty)
{
Console.WriteLine("never printed");
}
Console.WriteLine("done");IEnumerable: el hilo común
Toda colección iterable implementa IEnumerable<T>.
Ese es el contrato en el que se basa foreach. Gracias a él, la misma sintaxis de bucle funciona con matrices, listas, conjuntos y diccionarios.
Comprobación rápida
Compruebe si ha entendido cómo recorrer colecciones.
Repaso
Ha visto cómo funciona foreach con matrices, listas, diccionarios y conjuntos.
Todos comparten el contrato IEnumerable<T>, por lo que un mismo estilo de bucle sirve para todos. Las colecciones vacías son seguras y los diccionarios producen pares clave-valor.
Aprende C# con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 93
- Lecciones
- 346
Preguntas frecuentes
¿La lección «Iterar colecciones» es gratis?
Sí — el texto completo de «Iterar colecciones» 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 «Iterar colecciones»?
Listas, arrays y diccionarios 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 2 de 4.
¿Cuánto tiempo toma la lección «Iterar colecciones»?
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