Mostrando entradas con la etiqueta .NET. Mostrar todas las entradas
Mostrando entradas con la etiqueta .NET. Mostrar todas las entradas

jueves, 23 de julio de 2009

Crear un Diccionario de datos de tipo Clave/Valor en Visual C#

Vamos a crear una estructura de datos de tipo "Diccionario de pares Clave/Valor" (un tipo Dictionary) en el que tanto el tipo de dato de la Clave como del Valor serán de tipo String (aunque podrían ser de cualquier otro tipo).

Estas estructuras son útiles cuando se precisa almacenar y recuperar datos que deban estar relacionados en pares de valores. Por ejemplo, el nombre de una serie de personas con su DNI, ó
el nombre de una serie de artículos con su precio, etc.

Cada par de datos Clave/Valor se almacenan dentro del Diccionario como una estructura de datos denominada "KeyValuePair" (TKey, TValue).

Los diccionarios de datos se suelen utilizar cuando sólo se necesitan algunas de las propiedades (Claves) de algún objeto de una Clase previamente definida y sus Valores correspondientes, aunque no hay ningún inconveniente en utilizarlo para guardar todas las propiedades del objeto.

En este caso crearemos un "Dictionary" para guardar los valores de varias propiedades de un supuesto objeto de tipo "libro". Veamos el código:


   1:  public Dictionary<string, string> CargarDiccionario()
   2:          {
   3:              //Creamos una estructura de datos de tipo "Dictionary":
   4:              Dictionary<string, string> miDic = new Dictionary<string, string>();
   5:   
   6:              //Supongamos que necesitamos guardar tres propiedades (codigo, titulo y precio) que vamos añadiendo al Diccionario con sus correspondientes valores (por ejemplo, 2442, D. Quijote de la Mancha, 52). Cuando el valor es de tipo numérico lo convertimos previamente a tipo string
   7:              miDic.Add("codigo", Convert.ToString(2442));    
   8:              miDic.Add("titulo", "D. Quijote de la Mancha");  
   9:              miDic.Add("precio", Convert.ToString(52));
  10:   
  11:              RecorrerDiccionario(miDic);
  12:   
  13:              return miDic;
  14:          }


Para recuperar los datos almacenados en un Diccionario de pares de Clave/Valor habrá que recorrer cada uno de sus elementos "KeyValuePair" utilizando un bucle "for each". En este caso sencillamente realizamos la lectura y escribimos los datos en la secuencia de salida standard:

   1:  public void RecorrerDiccionario(Dictionary<string, string> elDic)
   2:          {
   3:              foreach (KeyValuePair<string, string> kvp in elDic)
   4:              {
   5:                  Console.Write(kvp.Key);
   6:                  Console.Write(kvp.Value);
   7:              }
   8:          }
Webs amigas:
Eduardo Soriano
Solcan
Taller de Joyería