Header Ads Widget

Como iterar un diccionario en C#

Los diccionarios (dictionary) son utilizados comunmente cuando se trabaja con datos en C#, para trabajar  con colecciones de clave/valor. La tarea común es iterar sobre el diccionario. Y hay varias formas de hacerlo.

Definir un Diccionario en C#

Antes de iterar un diccionario, repasemos como definir y llenar un diccionario en C#.

En C#, los diccionarios son implementados utilizando la clase genérica System.Collections.Generic.Dictionary<TKey, TValue>, donde TKey representa el tipo de las claves y TValue representa el tipo de valor almacenado dentro del diccionario.

Ejemplo:

    

//definir un diccionario    

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

En este ejemplo, estamos creando un diccionario donde las claves son del tipo string y los valores son del tipo int. Se pueden reemplazar estos tipos con cualquier otro tipo de datos que cumpla con los requerimientos que tengamos.

Una vez definido nuestro diccionario, podemos llenarlo con pares clave/valor utilizando el método .Add() o inicializandolo con los inicializadores de colección.

//agregar la información individualmente por par clave/valor

utilesEscolares.Add("Cuadernos", 5);	
utilesEscolares.Add("Lapiceros", 2);
//definir un diccionario e inicializarlo con datos

Dictionary<string, decimal> frutas = new Dictionary<string, decimal>()
{
   {"manzana", (decimal)10.50},
   {"piña", (decimal)20.30},
   {"banana", (decimal)15.70},
};

Una vez definido el diccionario y con información agregada, se pueden iterar.

Iterar sobre pares Clave/Valor del diccionario

Se puede recorrer un diccionario sobre los pares clave/valor, para utilizar foreach o cualquier bucle dentro de C#.

foreach(var item in frutas)
  { 
 Console.WriteLine($"La {item.Key} vale {item.Value}."); 
 }

Iterando solo por las claves del diccionario

También se puede recorrer el diccionario solamente por las claves.

foreach(var clave in utilesEscolares.Keys)
  {
  	Console.WriteLine(clave);
  }

Iterando solo por los valores del diccionario

También se puede recorrer el diccionario solamente por los valores.

foreach(var valor in utilesEscolares.Values){
  Console.WriteLine(valor);
  }

Conclusión


Hemos cubierto las tres formas en que podemos recorrer un diccionario en C#, de forma que podamos cubrir los escenarios que se nos presenten.

Publicar un comentario

0 Comentarios