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)
2int[] notas = new int[5];
3
4// Llenarlo (los índices empiezan en el 0)
5notas[0] = 8;
6notas[1] = 9;
7
8// Declarar e inicializar al mismo tiempo, el tamaño se ajusta solo (tamaño 3)
9string[] nombres = { "Ana", "Luis", "Carlos" };
10Console.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
1string[] colores = { "Rojo", "Verde", "Azul" };
2
3foreach (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
1using System.Collections.Generic;
2
3// Se crea una nueva lista vacía de tipo string
4List<string> inventario = new List<string>();
5
6// Agregamos elementos dinámicaente
7inventario.Add("Espada");
8inventario.Add("Escudo");
9inventario.Add("Poción");
10
11// Podemos removerlos fácilmente
12inventario.Remove("Escudo");
13
14// O saber cuántos elementos hay
15Console.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
1using System.Collections.Generic;
2
3List<string> tareas = new List<string>();
4tareas.Add("Estudiar");
5tareas.Add("Comer");
6tareas.Add("Dormir");
7
8foreach (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
1string[] colores = { "Rojo", "Azul", "Verde" };
2Console.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
1using System.Collections.Generic;
2
3List<int> puntos = new List<int>();
4puntos.Add(10);
5puntos.Add(20);
6puntos.Add(30);
7puntos.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
1string[] amigos = { "Ana", "Beto", "Carlos" };
2foreach(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.