CSharp

Tutorial CSharp: Diccionarios

CSharp diccionarios: cómo usarlos y ejemplos prácticos. Aprende a usar diccionarios en CSharp

En C#, el concepto de diccionarios es fundamental en la programación y en particular en la manipulación y el manejo de datos. En esencia, un diccionario es una colección de elementos organizados en pares de clave-valor.

El tipo de datos Dictionary<TKey, TValue> en C# es una representación de esta estructura. Aquí, TKey y TValue representan el tipo de la clave y el valor respectivamente. En los diccionarios, cada clave es única y cada una se asocia exactamente a un valor. Los valores no tienen porque ser únicos.

Creación de un diccionario

Para declarar un diccionario, se puede utilizar el siguiente formato:

Dictionary<TKey, TValue> nombreDiccionario = new Dictionary<TKey, TValue>();

Por ejemplo, para crear un diccionario de estudiantes donde la clave es un int (identificación del estudiante) y el valor es un string (nombre del estudiante):

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

Aquí, claves int se asocian a valores string. Las claves int deben ser únicas, pero está permitido que haya repeticiones en los valores string.

Añadir elementos a un diccionario

Para añadir elementos a un diccionario, se utiliza el método Add(). Este método acepta dos argumentos: la clave y el valor.

estudiantes.Add(1, "Juan");
estudiantes.Add(2, "María");
estudiantes.Add(3, "Pedro");

Si se intenta añadir una clave ya existente, se lanzará una excepción de tipo ArgumentException.

Acceder a los valores en un diccionario

Para acceder a un valor en el diccionario, se puede utilizar la clave como índice:

string nombre = estudiantes[2]; // nombre es "María"

Modificar los valores en un diccionario

Para modificar un valor en el diccionario, simplemente se asigna un nuevo valor a la clave específica:

estudiantes[3] = "Miguel"; // Cambia el nombre de Pedro a Miguel

Eliminar elementos de un diccionario

Para eliminar un elemento del diccionario, se utiliza el método Remove(). Este método acepta una clave como argumento:

estudiantes.Remove(2); // Elimina el elemento con la clave 2

Este método devuelve true si la clave existe y el elemento es eliminado correctamente. Si la clave no existe devolverá false, pero no lanzará ninguna excepción.

Comprobar si un diccionario contiene una clave

Para verificar si un diccionario contiene una clave específica, se utiliza el método ContainsKey(). Este método devuelve true si el diccionario contiene la clave y false en caso contrario:

bool tieneClave = estudiantes.ContainsKey(2); // tieneClave es false

Iterar a través de un diccionario

Para iterar a través de un diccionario, se puede utilizar un bucle foreach:

foreach(KeyValuePair<int, string> estudiante in estudiantes)
{
    Console.WriteLine($"ID: {estudiante.Key}, Nombre: {estudiante.Value}");
}

KeyValuePair<TKey, TValue> es una estructura que representa un elemento en un diccionario. Desde esta estructura, puede accederse a su clave y su valor a través de Key y Value, respectivamente.

Los diccionarios en C# son extremadamente útiles para organizar y manipular datos de manera eficiente. El uso de diccionarios puede simplificar y acelerar significativamente las operaciones de búsqueda, especialmente para grandes volúmenes de datos. Sin embargo, es importante recordar que cada clave en un diccionario debe ser única, y que intentar añadir un elemento con una clave duplicada resultará en una excepción.

Certifícate en CSharp con CertiDevs PLUS

Ejercicios de esta lección Diccionarios

Evalúa tus conocimientos de esta lección Diccionarios con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.

Todas las lecciones de CSharp

Accede a todas las lecciones de CSharp y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.

En esta lección

Objetivos de aprendizaje de esta lección

  1. Comprender el concepto de diccionarios y su importancia en la programación.
  2. Aprender a declarar y crear diccionarios en C#.
  3. Saber cómo añadir, acceder, modificar y eliminar elementos en un diccionario.
  4. Conocer el método ContainsKey() para verificar si una clave existe en el diccionario.
  5. Familiarizarse con la iteración a través de un diccionario utilizando un bucle foreach y KeyValuePair<TKey, TValue>.