fork download
  1. // ===++===
  2. //
  3. // OrtizOL
  4. //
  5. // ===--===
  6. /*============================================================
  7. //
  8. // Clase: Genericos.cs
  9. //
  10. // Propósito: Demostrar el uso de las estructuras de datos
  11. // genéricas en C#.
  12. //
  13. ============================================================*/
  14.  
  15. using System;
  16. using System.Collections.Generic;
  17.  
  18. namespace Recetas.Cap02
  19. {
  20. internal class Genericos
  21. {
  22. const double CONSTANTE_EULER = 0.577215664901;
  23. const double MEDIA_AUREAL = 1.618033988;
  24. const double PI = Math.PI;
  25. const double E = Math.E;
  26. const double RAIZ_DOS = 1.414213562;
  27.  
  28. public static void Main()
  29. {
  30. // Creación de un diccionario con nombre de constante matemática (key),
  31. // y valor de la constante matemática (value):
  32. Dictionary<string, double> constMatematicas = new Dictionary<string, double>();
  33. constMatematicas.Add("Constante de Euler", CONSTANTE_EULER);
  34. constMatematicas.Add("Media aureal", MEDIA_AUREAL);
  35. constMatematicas.Add("Pi", PI);
  36. constMatematicas.Add("Raíz de 2", RAIZ_DOS);
  37.  
  38. // Recorremos la colección para explorar los resultados
  39. // con la estructura KeyValuePair<TKey, TValue>:
  40. Console.WriteLine("Contenido del diccionario `constMatematicas`:");
  41. foreach(KeyValuePair<string, double> constMatematica in constMatematicas)
  42. {
  43. Console.WriteLine("\tNombre constante: {0}, Valor constante: {1}",
  44. constMatematica.Key, constMatematica.Value);
  45. }
  46.  
  47. // Creación de una lista genérica para tipos double (constantes matemáticas):
  48. List<double> listConstMatematicas = new List<double>();
  49. listConstMatematicas.Add(CONSTANTE_EULER);
  50. listConstMatematicas.Add(MEDIA_AUREAL);
  51. listConstMatematicas.Add(PI);
  52. listConstMatematicas.Add(E);
  53. listConstMatematicas.Add(RAIZ_DOS);
  54.  
  55. // creación de una variable double desde la lista genérica:
  56. double pi = listConstMatematicas[2];
  57.  
  58. // La exploración del contenido a través de un ciclo foreach
  59. Console.WriteLine("\nConstantes en la lista genérica `listConstMatematicas`:");
  60. foreach (double constante in listConstMatematicas)
  61. {
  62. Console.WriteLine("\tConstante matemática: {0}", constante);
  63. }
  64. }
  65. }
  66. }
Success #stdin #stdout 0.04s 34848KB
stdin
Standard input is empty
stdout
Contenido del diccionario `constMatematicas`:
	Nombre constante: Constante de Euler, Valor constante: 0.577215664901
	Nombre constante: Media aureal, Valor constante: 1.618033988
	Nombre constante: Pi, Valor constante: 3.14159265358979
	Nombre constante: Raíz de 2, Valor constante: 1.414213562

Constantes en la lista genérica `listConstMatematicas`:
	Constante matemática: 0.577215664901
	Constante matemática: 1.618033988
	Constante matemática: 3.14159265358979
	Constante matemática: 2.71828182845905
	Constante matemática: 1.414213562