C# Enum
C# Enumeraciones
Una enum
es una "clase" especial que representa un grupo de constantes (variables inmutables/de solo lectura).
Para crear una enum
, utilice la palabra clave enum
(en lugar de clase o interfaz) y separé los elementos de enumeración con una coma:
Ejemplo
enum Level
{
Low,
Medium,
High
}
Puede acceder a elementos enum
con la sintaxis punto:
Level myVar = Level.Medium;
Console.WriteLine(myVar);
Inténtalo tú mismo »
Enum es la abreviatura de "enumeración", que significa "específicamente enumerados".
Enum dentro de una clase
También puedes tener un enum
dentro de una clase:
Ejemplo
class Program
{
enum Level
{
Low,
Medium,
High
}
static void Main(string[] args)
{
Level myVar = Level.Medium;
Console.WriteLine(myVar);
}
}
La salida será:
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 a 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);
}
La salida será:
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);
}
La salida será:
7
Enum en una declaración de cambio
Las enumeraciones se utilizan a menudo en sentencias 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;
}
}
La salida será:
Medium level
¿Por qué y cuándo utilizar enumeraciones?
Utilice enumeraciones cuando tenga valores que sepa que no van a cambiar, como los días del mes, los días, los colores, la baraja de cartas, etc.