fork download
  1. // ===++===
  2. //
  3. // OrtizOL
  4. //
  5. // ===--===
  6. /*============================================================
  7. //
  8. // Clase: DemoIsDefined.cs
  9. //
  10. // Propósito: Demostrar el uso y utilidad del método
  11. // IsDefined en C#.
  12. //
  13. ============================================================*/
  14.  
  15. using System;
  16.  
  17. namespace Articulos.Cap03
  18. {
  19. internal enum EstadoLlegada
  20. {
  21. Desconocido = -3,
  22. Retardado = -1,
  23. ATiempo = 0,
  24. Temprano = 1
  25. };
  26.  
  27. internal class DemoIsDefined
  28. {
  29. public static void Main()
  30. {
  31. // Creación de arreglo estándar con varios valores:
  32. int[] valores = {-3, -1, 0, 1, 5, Int32.MinValue, Int32.MaxValue};
  33.  
  34. // Recorremos el arreglo para hacer búsqueda de
  35. // coincidencia los valores del arreglo con los
  36. // valores de los miembros de la enumeración:
  37. foreach(int valor in valores)
  38. {
  39. // Variable auxiliar:
  40. EstadoLlegada tempEstadoLlegada;
  41.  
  42. // Validmos que el valor de `valor` coincida con
  43. // uno de los miembros de la enumeración `EstadoLlegada`:
  44. if(Enum.IsDefined(typeof(EstadoLlegada), valor))
  45. {
  46. tempEstadoLlegada = (EstadoLlegada) valor;
  47. }
  48. else
  49. {
  50. tempEstadoLlegada = EstadoLlegada.Desconocido;
  51. }
  52.  
  53. Console.WriteLine("Equivalencia de {0:N0} en `EstadoLlegada` es {1}",
  54. valor, tempEstadoLlegada);
  55. }
  56. }
  57. }
  58. }
Success #stdin #stdout 0.04s 34024KB
stdin
Standard input is empty
stdout
Equivalencia de -3 en `EstadoLlegada` es Desconocido
Equivalencia de -1 en `EstadoLlegada` es Retardado
Equivalencia de 0 en `EstadoLlegada` es ATiempo
Equivalencia de 1 en `EstadoLlegada` es Temprano
Equivalencia de 5 en `EstadoLlegada` es Desconocido
Equivalencia de -2,147,483,648 en `EstadoLlegada` es Desconocido
Equivalencia de 2,147,483,647 en `EstadoLlegada` es Desconocido