csharp-que-son-diccionarios

Qué son y cómo usar los diccionarios en C#

Un Diccionario en C# es una colección genérica que permite almacenar pares clave-valor. Proporcionan una forma muy eficiente de realizar búsquedas, inserciones y eliminaciones.

La clase Dictionary<TKey, TValue> en el espacio de nombres System.Collections.Generic es la implementación estándar de esta estructura de datos en C#.

Las claves deben ser únicas y no pueden ser nulas, mientras que los valores pueden ser duplicados y nulos.

Declaración e inicialización de diccionarios

Para declarar un diccionario en C#, se utiliza la siguiente sintaxis:

Dictionary<tipoClave, tipoValor> nombreDiccionario;

Por ejemplo, si queremos crear un Diccionario que almacene nombres de personas y sus edades, podemos utilizar la siguiente sintaxis:

Dictionary<string, int> edades = new Dictionary<string, int>();

En este ejemplo, hemos creado un Diccionario llamado edades que utiliza cadenas de texto como claves y enteros como valores.

Creación de un diccionario

Una vez declarado el diccionario, antes de poder usarlo debemos inicializarlo. Para ello debemos crear una nueva diccionario, y asignarla a la variable que hemos declarado anteriormente.

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

Dictionary<string, int> edades = new Dictionary<string, int>();

// equivalente
var edades = new Dictionary<string, int>();
Dictionary<string, int> edades = new ();

Inicialización de diccionarios

Alternativamente, también podemos inicializar el diccionario a una serie de valores conocidos.

Dictionary<string, int> edades = new ()
{
    { "Luis", 25 },
    { "María", 30 },
    { "Pedro", 28 }
};

Uso básico del diccionario

Añadir elementos a un diccionario

Para añadir elementos a un diccionario, se utiliza el método Add o el índice de la clave:

edades.Add("Luis", 32);
edades["Ana"] = 22;

Acceder a elementos de un diccionario

Los elementos de un diccionario se pueden acceder mediante sus claves:

int edadDeLuis = edades["Luis"];

Modificar elementos de un diccionario

Para modificar el valor asociado a una clave existente, simplemente se asigna un nuevo valor a esa clave:

edades["María"] = 35;

Eliminar elementos de un diccionario

Para eliminar elementos de un diccionario

edades.Remove("Pedro");

Enumerar elementos en un diccionario

Para recorrer todos los elementos de un diccionario, se puede usar un bucle foreach:

foreach (var item in edades)
{
    Console.WriteLine($"Nombre: {item.Key}, Edad: {item.Value}");
}

Limpiar todo el diccionario

edades.Clear();

Propiedades y métodos útiles

Ejemplos prácticos