// ===++=== // // OrtizOL // // ===--=== /*============================================================ // // Clase: DemoIsDefined.cs // // Propósito: Demostrar el uso y utilidad del método // IsDefined en C#. // ============================================================*/ using System; namespace Articulos.Cap03 { internal enum EstadoLlegada { Desconocido = -3, Retardado = -1, ATiempo = 0, Temprano = 1 }; internal class DemoIsDefined { public static void Main() { // Creación de arreglo estándar con varios valores: int[] valores = {-3, -1, 0, 1, 5, Int32.MinValue, Int32.MaxValue}; // Recorremos el arreglo para hacer búsqueda de // coincidencia los valores del arreglo con los // valores de los miembros de la enumeración: foreach(int valor in valores) { // Variable auxiliar: EstadoLlegada tempEstadoLlegada; // Validmos que el valor de `valor` coincida con // uno de los miembros de la enumeración `EstadoLlegada`: if(Enum.IsDefined(typeof(EstadoLlegada), valor)) { tempEstadoLlegada = (EstadoLlegada) valor; } else { tempEstadoLlegada = EstadoLlegada.Desconocido; } Console.WriteLine("Equivalencia de {0:N0} en `EstadoLlegada` es {1}", valor, tempEstadoLlegada); } } } }