Un diccionario es una estructura de datos útil que le permite almacenar pares clave-valor. Puede acceder de manera eficiente a un valor del diccionario utilizando su clave.

Los diccionarios en C# admiten acciones como eliminar un valor o iterar sobre todo el conjunto de valores.

¿Qué es un diccionario en C#?

Un diccionario C# es uno de las estructuras de datos más importantes puedes aprender sobre. Es un poco como la estructura de datos Java HashMap. Sus claves deben ser únicas, pero pueden ser de casi cualquier tipo. Un diccionario simple usa valores escalares.

Por ejemplo, este conjunto de datos tiene una identificación de una mascota como clave y el nombre de la mascota como valor:

{1001, "Mía"},
{1002, "Óscar"},
{1003, "pajarito"},
{1004, "Azul"},
{1005, "Leo"},
{1006, "Travis"}

Esta estructura le permite acceder a los datos usando la clave particular que hace referencia a un registro. Por ejemplo, puede recuperar el registro con el valor Pajarito haciendo referencia a él con la clave de búsqueda 1003.

instagram viewer

Cómo crear un diccionario

Para crear un diccionario, debe especificar el tipo de objeto tanto para la clave como para el valor.

  1. Crea el diccionario. En este ejemplo, la clave es un número entero y el valor de cada registro es una cadena.
    Diccionario<En t, cuerda> mascotas = nuevo Diccionario<En t, cuerda>();
  2. Necesitarás usar el Sistema. Colecciones. Genérico espacio de nombres que contiene la clase Dictionary. Asegúrese de hacerlo en la parte superior de su archivo:
    utilizando Sistema. Colecciones. Genérico;

Cómo agregar elementos al diccionario

Puede agregar elementos al diccionario durante o después de su inicialización.

  1. Puede agregar elementos mientras inicializa el diccionario. Para hacerlo, agregue algunos valores entre corchetes después de la nueva declaración inicial del Diccionario.
    Diccionario<En t, cuerda> mascotas = nuevo Diccionario<En t, cuerda>()
    {
    {1001, "Mía"},
    {1002, "Óscar"},
    {1003, "pajarito"},
    {1004, "Azul"},
    {1005, "Leo"},
    {1006, "Travis"}
    };
  2. Si ya ha creado el diccionario, puede usar el método Add() integrado del diccionario.
    mascotas. Agregar(1007, "Nevado");

No puede agregar un valor para una clave que ya existe. Si intenta hacerlo, obtendrá una ArgumentException.

No puedes usar un nulo valor como la clave para una entrada en un diccionario. Sin embargo, puede almacenar un valor nulo en un diccionario.

Cómo agregar objetos al diccionario

Si está utilizando un oprogramación orientada a objetos estilo, es probable que tenga al menos una clase que use para crear objetos. Digamos que tuviste una clase que almacenó detalles sobre mascotas:

Puede agregar objetos creados a partir de esta clase a un diccionario.

  1. Asegúrese de crear el diccionario con el tipo de objeto Mascota especificado para el valor.
    Diccionario<En t, Mascota> objetosmascota = nuevo Diccionario<En t, Mascota>();
  2. Crea tu objeto mascota.
    mascota mia = nuevo Mascota(1001, "Mía", nuevo Fecha y hora(2010, 6, 29), 9.0,
    nuevo Fecha y hora(2022, 05, 02));
  3. Agregue el nuevo objeto mascota al diccionario.
    petObjects. Agregar(1001, mía);

Cómo acceder a un artículo en el diccionario

Puede acceder a un elemento del diccionario mediante la tecla.

  1. Use el nombre de la variable para el diccionario, seguido de la clave alrededor de un par de corchetes. Esto devolverá el objeto almacenado en esa parte particular del diccionario.
    variable mascota = petObjects[1001];
    Consola. WriteLine (mascota.nombre);

Cómo iterar sobre el diccionario

Puedes usar un para cada bucle para iterar sobre un diccionario:

  1. Use un foreach para iterar sobre cada KeyValuePair en el diccionario. Asumiendo que llamaste a tu iterador entrada, puede acceder a la clave y el valor usando entrada. Llave y entrada. Valor.
    para cada (Par de valores clave <En t, Mascota> entrada en petObjects)
    {
    // imprime la clave
    Consola. WriteLine (entrada. Llave);

    // imprime el nombre del objeto para ese registro
    Consola. WriteLine (entrada. Valor.nombre);
    }

Cómo actualizar un elemento en un diccionario

Puede actualizar un elemento sobrescribiendo su valor en el diccionario.

  1. Si tiene tipos de objetos simples en su diccionario, puede sobrescribir un valor de un registro directamente.
    mascotas[1001] = "Maya";
  2. Si ha agregado objetos a su diccionario, puede sobrescribir un valor en un objeto completamente nuevo.
    mascota conejo = nuevo Mascota(1001, "Conejito", nuevo Fecha y hora(2021, 8, 1), 3.0, nuevo Fecha y hora(2021, 8, 4));
    objetosmascotas[1001] = conejito;
  3. Si tiene un objeto en el diccionario, también puede actualizar una sola propiedad. Puede sobrescribir el valor de la propiedad directamente o usar un setter.
    objetosmascotas[1001].nombre = "Maya";
    // O
    objetosmascotas[1001].setName("Maya");

Cómo eliminar un elemento en un diccionario

Puede optar por eliminar un solo elemento o todos los elementos.

  1. Para eliminar un solo elemento, utilice el método integrado Remove() del diccionario. Ingrese la clave del registro que desea eliminar como argumento.
    petObjects. Remover(1002);
  2. Para eliminar todos los elementos del diccionario, utilice el método Clear() integrado del diccionario.
    petObjects. Claro();

Estructuras de datos en C#

Este tutorial cubrió cómo crear un diccionario en C# y cómo agregar elementos al diccionario. Además, también ha cubierto cómo actualizar, eliminar e iterar sobre el diccionario.

Si desea mejorar su vocabulario de estructura de datos, puede comenzar a explorar estructuras de datos más avanzadas. Algunos ejemplos de estos incluyen Fibonacci Heap, AVL Tree o Red Black Tree.

3 estructuras de datos avanzadas que todo programador debe conocer

Leer siguiente

CuotaPíoCuotaCorreo electrónico

Temas relacionados

  • Programación
  • Diccionario
  • Programación

Sobre el Autor

Sharlene Von Drehnen (14 artículos publicados)

Sharlene es redactora técnica en MUO y también trabaja a tiempo completo en desarrollo de software. Es Licenciada en TI y tiene experiencia previa en Aseguramiento de la Calidad y tutoría Universitaria. Sharlene ama jugar y tocar el piano.

Más de Sharlene Von Drehnen

Suscríbete a nuestro boletín

¡Únase a nuestro boletín para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse