34-Enumeraciones en C#


Enumeraciones

La clase enum representa un grupo de constantes (variables inalterables/de sólo lectura).

Para crear un enum tenemos que usar la palabra enum (en lugar de clase o interfaz), y separe los elementos de enumeración con una coma:

Ejemplo

enum Level 
{
  Low,
  Medium,
  High
}
        

Se puede aceder a un elemento enum con la sintaxis del punto (.)

Ejemplo

Level myVar = Level.Medium;
Console.WriteLine(myVar);
        

Enum es la abreviatura de "enumeraciones", que significa "listado específicamente".




...

Enum dentro de una clase

Dentro de una clase tambien se puede tener un enum

Ejemplo

class Program
{
  enum Level
  {
    Low,
    Medium,
    High
  }
  static void Main(string[] args)
  {
    Level myVar = Level.Medium;
    Console.WriteLine(myVar);
  }
}
        

Salida: Medium




Valores de enumeración

De forma predeterminada, el primer elemento de una enumeración tiene el valor 0.

El segundo tiene el valor 1, y así sucesivamente

Para obtener el valor entero de un elemento, debe convertir explícitamente el elemento en un int:

Ejemplo

        enum Months
{
  January,    // 0
  February,   // 1
  March,      // 2
  April,      // 3
  May,        // 4
  June,       // 5
  July        // 6
}

static void Main(string[] args)
{
  int myNum = (int) Months.April;
  Console.WriteLine(myNum);
}
    

Salida: 3


También puede asignar sus propios valores de enumeración y los siguientes elementos actualizarán sus números en consecuencia:

Ejemplo

 enum Months
 {
   January,    // 0
   February,   // 1
   March=6,    // 6
   April,      // 7
   May,        // 8
   June,       // 9
   July        // 10
 }
 
 static void Main(string[] args)
 {
   int myNum = (int) Months.April;
   Console.WriteLine(myNum);
 }
    

Salida: 7


Enumeración en una instrucción Switch

Las enumeraciones se utilizan a menudo en instruciones switch para comprobar los valores correspondientes:

Ejemplo

enum Level 
{
  Low,
  Medium,
  High
}

static void Main(string[] args) 
{
  Level myVar = Level.Medium;
  switch(myVar) 
  {
    case Level.Low:
      Console.WriteLine("Low level");
      break;
    case Level.Medium:
       Console.WriteLine("Medium level");
      break;
    case Level.High:
      Console.WriteLine("High level");
      break;
  }
}
    

Salida: Medium level


Las enumeraciones se deben usar cuando tenga valores que sepa que no van a cambiar, como meses, días, colores, baraja de cartas, etc.






Publicar un comentario

0 Comentarios