csharp-que-son-listas

Qué son y cómo usar las listas en C#

Una Lista es una colección genérica que implementa un array con tamaño dinámico. Es una de las estructuras de datos que usaréis con más frecuencia utilizadas.

A diferencia de los arrays, las listas permiten la manipulación dinámica de sus elementos (es decir, que podemos añadir y eliminar elementos, definir un tamaño fijo al inicio).

La clase List<T> en el espacio de nombres System.Collections.Generic permite crear listas de cualquier tipo especificado por el parámetro de tipo T.

Declaración de listas

Para declarar una lista en C#, se utiliza la siguiente sintaxis:

List<tipo> nombreLista;

Por ejemplo, para declarar una lista de enteros:

List<int> numeros;

Creación de la lista

Una vez declarada la lista, antes de poder usarla debemos inicializarla. Para ello debemos crear una nueva Lista, y asignarla a la variable que hemos declarado anteriormente.

O, alternativamente, podemos hacerlo en el mismo momento en que declaramos nuestra Lista. Asi:

List<int> numeros = new List<int>();

// equivalente
var numeros = new List<int>();
List<int> numeros = new ();

Inicialización de listas

Alternativamente, queremos inicializar la lista a una serie de valores conocidos en tiempo de compilación, podemos hacerlo usando el inicializador semántico [].

// sintaxis recomendada
List<int> numeros = [ 1, 2, 3, 4, 5 ];

// equivalente a esto
List<int> numeros = new () { 1, 2, 3, 4, 5 };
List<int> numeros = new List<int>() { 1, 2, 3, 4, 5 };

Anteriormente había otras formas

Uso básico de lista

Acceder a elementos de una lista

Los elementos de una lista se pueden acceder mediante índices, comenzando desde 0:

List<int> numeros = new List<int>();

int primerNumero = numeros[0]; // primerNumero será 1

Modificar elementos de una lista

Los elementos de una lista se pueden modificar asignando nuevos valores a los índices específicos:

numeros[1] = 20; // El segundo elemento de la lista ahora será 20

Añadir elementos a una lista

Para añadir elementos a una lista, se utiliza el método Add:

numeros.Add(1);

Además, podemos agregar múltiples elementos a la vez utilizando el método AddRange():

lista.AddRange(coleccion);

Donde coleccion representa una colección de elementos del mismo tipo que la lista.

Eliminar elementos de una lista

Para eliminar un elemento de una lista, podemos utilizar el método Remove():

numeros.Remove(20); // Elimina el primer elemento con el valor 20

También es posible eliminar un elemento en función de su índice utilizando el método RemoveAt():

numeros.RemoveAt(0); // Elimina el primer elemento

Limpiar toda la lista

numeros.Clear(); // Elimina todos los elementos de la lista

Insertar elementos en una posición específica

Para insertar un elemento en una posición específica de la lista, se utiliza el método Insert:

numeros.Insert(1, 15); // Inserta el número 15 en la posición 1

Propiedades y métodos útiles de List<T>

Las listas en C# ofrecen una amplia gama de operaciones que nos permiten manipular y acceder a sus elementos de manera eficiente. Vamos a ver algunas de ellas:

Ejemplos prácticos