Café y Código

7. Colecciones (Arreglos y Listas)

Arreglos Clásicos (Arrays)

Un arreglo es una caja dividida en múltiples compartimentos ordenados. Sirve para guardar múltiples valores del mismo tipo. Tienen una regla estricta: Su tamaño es fijo desde el momento que se crean, no puede crecer ni achicarse.

Sintaxis de Arrays
CSHARP
1 // Declarar un arreglo de 5 números (inicia lleno de ceros)
2 int[] notas = new int[5];
3
4 // Llenarlo (los índices empiezan en el 0)
5 notas[0] = 8;
6 notas[1] = 9;
7
8 // Declarar e inicializar al mismo tiempo, el tamaño se ajusta solo (tamaño 3)
9 string[] nombres = { "Ana", "Luis", "Carlos" };
10 Console.WriteLine(nombres[1]); // Imprime "Luis"

El Ciclo Foreach

Cuando tienes una colección (como un arreglo), la forma más elegante de recorrer todos sus elementos es usando foreach (por cada). No necesitas preocuparte por los índices, C# sacará cada elemento uno por uno internamente.

Recorriendo colecciones con Foreach
CSHARP
1 string[] colores = { "Rojo", "Verde", "Azul" };
2
3 foreach (string color in colores)
4 {
5 Console.WriteLine($"Me gusta el color {color}");
6 }

Listas Genéricas (List<T>)

Las listas son la evolución de los arreglos. Son dinámicas, lo que significa que pueden crecer sin límite aparente a medida que les agregas elementos. Para usarlas, debes asegurarte de tener using System.Collections.Generic; al principio del archivo.

El poder de List<T>
CSHARP
1 using System.Collections.Generic;
2
3 // Se crea una nueva lista vacía de tipo string
4 List<string> inventario = new List<string>();
5
6 // Agregamos elementos dinámicaente
7 inventario.Add("Espada");
8 inventario.Add("Escudo");
9 inventario.Add("Poción");
10
11 // Podemos removerlos fácilmente
12 inventario.Remove("Escudo");
13
14 // O saber cuántos elementos hay
15 Console.WriteLine($"Tienes {inventario.Count} objetos.");

👨‍💻 Ejercicio Práctico

Misión: Tu lista de Tareas

Crea una List<string>, agrégale tres tareas como "Estudiar", "Comer", "Dormir", y recórrelas todas usando un bucle foreach imprimiéndolas en pantalla.

👁️ Ver solución propuesta
CSHARP
1 using System.Collections.Generic;
2
3 List<string> tareas = new List<string>();
4 tareas.Add("Estudiar");
5 tareas.Add("Comer");
6 tareas.Add("Dormir");
7
8 foreach (string t in tareas)
9 {
10 Console.WriteLine($"- {t}");
11 }

👨‍💻 Ejercicio Práctico 2

Misión: Arreglo estático

Crea un string[] colores = {"Rojo", "Azul", "Verde"}; y usa colores.Length para imprimir cuántos colores metiste.

👁️ Ver solución propuesta
CSHARP
1 string[] colores = { "Rojo", "Azul", "Verde" };
2 Console.WriteLine($"Hay {colores.Length} colores en el arreglo.");

👨‍💻 Ejercicio Práctico 3

Misión: Manipulando una Lista

Crea una List<int>. Agrégale los números 10, 20 y 30. Luego elimina el 20 usando .Remove(20).

👁️ Ver solución propuesta
CSHARP
1 using System.Collections.Generic;
2
3 List<int> puntos = new List<int>();
4 puntos.Add(10);
5 puntos.Add(20);
6 puntos.Add(30);
7 puntos.Remove(20); // Quedan 10 y 30

👨‍💻 Ejercicio Práctico 4

Misión: El saludo masivo

En un arreglo de 3 amigos, usa un bucle foreach para saludar a cada uno.

👁️ Ver solución propuesta
CSHARP
1 string[] amigos = { "Ana", "Beto", "Carlos" };
2 foreach(string amigo in amigos)
3 {
4 Console.WriteLine($"¡Hola {amigo}!");
5 }

Ponte a prueba

Comprueba tus conocimientos sobre este tema realizando nuestro pequeño test.

Dato curioso: Microsoft lo presentó en 2000; C# 1.0 con .NET en 2002 (Anders Hejlsberg). Wikipedia

Ko-fi
Donaciones
Apoyá cafeycodigo con un café en Ko-fi. Colaboradores: insignia, muro y zona exclusiva.