fork download
  1. using System;
  2.  
  3. namespace Recetas.Ch01
  4. {
  5. public class Celsius
  6. {
  7. public float Grados
  8. {
  9. get
  10. {
  11. return grados;
  12. }
  13. }
  14. private float grados;
  15.  
  16. public Celsius(float temperatura)
  17. {
  18. grados = temperatura;
  19. }
  20.  
  21. ///<summary>
  22. /// Conversión explícita de Celsius a Fahrenheit
  23. ///</summary>
  24. public static explicit operator Fahrenheit(Celsius c)
  25. {
  26. return new Fahrenheit((9.0f/5.0f)*c.grados + 32);
  27. }
  28. }
  29.  
  30. public class Fahrenheit
  31. {
  32. public float Grados
  33. {
  34. get
  35. {
  36. return grados;
  37. }
  38. }
  39.  
  40. private float grados;
  41.  
  42. public Fahrenheit(float temperatura)
  43. {
  44. grados = temperatura;
  45. }
  46.  
  47. ///<summary>
  48. /// Conversión explícita de Fahrenheit a Celsius
  49. ///</summary>
  50. public static explicit operator Celsius(Fahrenheit fahr)
  51. {
  52. return new Celsius((5.0f/9.0f)*(fahr.grados - 32));
  53. }
  54. }
  55.  
  56. public class PruebaCelsiusFahrenheit
  57. {
  58. public static void Main()
  59. {
  60. Fahrenheit fahr = new Fahrenheit(100.0f);
  61. Console.Write("{0} Fahrenheit", fahr.Grados);
  62.  
  63. Celsius c = (Celsius) fahr;
  64.  
  65. Console.Write(" = {0} Celsius", c.Grados);
  66. Fahrenheit fahr2 = (Fahrenheit) c;
  67. Console.WriteLine(" = {0} Fahrenheit", fahr2.Grados);
  68.  
  69. Console.WriteLine();
  70. }
  71. }
  72. }
Success #stdin #stdout 0.03s 33912KB
stdin
Standard input is empty
stdout
100 Fahrenheit = 37.77778 Celsius = 100 Fahrenheit