DE .NET, SQLSERVER Y MÁS, APRENDE CONMIGO!✔

Desarrollo de todo tipo de aplicaciones y Administración de Base de datos con Tecnología Microsoft


UNETE

Enumeraciones en C#

0

 


Enumeraciones

Las enumeraciones permiten crear un grupo de constantes numericas asociadas a un nombre. Veamos un ejemplo:

public enum Rumbo {Norte, Sur, Este, Oeste};

Para utilizarlas tenemos que declarar una variable del tipo de la enumeración y asignarle un valor dentro de los que dicha enumeración posea.

Rumbo avion = Rumbo.Sur; 

Por defecto, a cada valor de la enumeración se le asigna como valor una constante entera 0, 1, 2,... Opcionalmente se puede especificar un tipo numérico alternativo y, además, asignarle un valor de este tipo a cada uno de los componentes.

[Flags]
public enum Rumbo: byte {Norte = 1, Sur = 2, Este = 4, Oeste = 8};
 
Rumbo barco = Rumbo.Norte | Rumbo.Oeste;
 
if ((barco & Rumbo.Norte) != 0)
  Console.WriteLine("Si vas hacia el Norte hará más frio");

El atributo [FLAGS] es opcional e informa al entorno de ejecución de que los valores de la enumeración pueden ser combinados, y deberán ser decodificados adecuadamente en el depurador y cuando se muestren por la consola.

Console.WriteLine(barco.Format()); // muestra "Norte|Oeste"
Console.WriteLine(barco);          // muestra "9"

El tipo System.Enum proporciona una gran cantidad de métodos estáticos muy útilies para manejar las enumeraciones:

// enum.cs
 
using System;
 
public enum Logico : byte { Off = 0, On = 1 };
 
class Prueba
{
  public static void Main()
  {
    Type t = Enum.GetUnderlyingType(typeof(Logico));
    Console.WriteLine(t); // imprime "Byte";
   
    bool hay_medio = Enum.IsDefined(typeof(Logico), "Medio");
    Console.WriteLine(hay_medio); // imprime "False"
 
    Logico l = (Logico)Enum.Parse(typeof(Logico), "On");
    Console.WriteLine(Enum.Format(typeof(Logico), l, "D")); // imprime "1"
    Console.WriteLine(l); // imprime "On"
 
    foreach(Logico logico in Enum.GetValues(typeof(Logico)))
      Console.WriteLine("{0} = {1}", logico, 
                        Enum.Format(typeof(Logico), logico, "D"));
  }
}


DEMOSTRACIÓN

En Visual Studio vamos a dar click en menú File à New à Project



En la Ventana emergente le damos click a Window, seleccionamos la opción “Console Application” y espacio Name colocamos el nombre del proyecto que para el Ejemplo es “Demo 3 20483” y luego presionamos el botón OK

A continuación tipiaremos una enumeración  de nombre “EstadoCivil”:


En el método Main codificaremos lo siguiente:


Ejecutamos


Y el resultado es el siguiente:







Tal vez te interesen estas entradas

No hay comentarios