// ===++=== // // OrtizOL // // ===--=== /*============================================================ // // Clase: Genericos.cs // // Propósito: Demostrar el uso de las estructuras de datos // genéricas en C#. // ============================================================*/ using System; using System.Collections.Generic; namespace Recetas.Cap02 { internal class Genericos { const double CONSTANTE_EULER = 0.577215664901; const double MEDIA_AUREAL = 1.618033988; const double PI = Math.PI; const double E = Math.E; const double RAIZ_DOS = 1.414213562; public static void Main() { // Creación de un diccionario con nombre de constante matemática (key), // y valor de la constante matemática (value): Dictionary constMatematicas = new Dictionary(); constMatematicas.Add("Constante de Euler", CONSTANTE_EULER); constMatematicas.Add("Media aureal", MEDIA_AUREAL); constMatematicas.Add("Pi", PI); constMatematicas.Add("Raíz de 2", RAIZ_DOS); // Recorremos la colección para explorar los resultados // con la estructura KeyValuePair: Console.WriteLine("Contenido del diccionario `constMatematicas`:"); foreach(KeyValuePair constMatematica in constMatematicas) { Console.WriteLine("\tNombre constante: {0}, Valor constante: {1}", constMatematica.Key, constMatematica.Value); } // Creación de una lista genérica para tipos double (constantes matemáticas): List listConstMatematicas = new List(); listConstMatematicas.Add(CONSTANTE_EULER); listConstMatematicas.Add(MEDIA_AUREAL); listConstMatematicas.Add(PI); listConstMatematicas.Add(E); listConstMatematicas.Add(RAIZ_DOS); // creación de una variable double desde la lista genérica: double pi = listConstMatematicas[2]; // La exploración del contenido a través de un ciclo foreach Console.WriteLine("\nConstantes en la lista genérica `listConstMatematicas`:"); foreach (double constante in listConstMatematicas) { Console.WriteLine("\tConstante matemática: {0}", constante); } } } }