Cómo obtener el valor de `int` de `Enum` en C# con ejemplos

Para obtener el valor de int a partir de enum en C#, convierta la variable enum en un número entero.

On this page

Solución 1: Usar Type cast para obtener el valor de int de enum

El tipo subyacente por defecto para enums en C# es Int.

Así que podemos hacer un type cast de enum a int para obtener el valor entero del enum en C#.

Vamos a tomar un ejemplo para entenderlo mejor.

public enum Days
{
        Monday,  
        Tuesday,  
        Wednesday,  
        Thursday,  
        Friday,  
        Saturday,  
        Sunday
}

Ahora vamos a convertir los valores del enum en valores enteros.

int mondayValue=(int)Days.Monday; //0
int tuesdayValue=(int)Days.Tuesday; //1
int wednesdayValue=(int)Days.Wednesday; //2
int thursdayValue=(int)Days.Thursday; //3
int fridayValue=(int)Days.Friday; //4
int saturdayValue=(int)Days.Saturday; //5
int sundayValue=(int)Days.Sunday; //6

Solución 2: Usar el método Convert.ToInt32() para obtener el valor entero del enum

O podemos usar el método Convert.ToInt32() to para convertir un enum a entero como se muestra a continuación.

int mondayValue=Convert.ToInt32(Days.Moday); //0

Obtener el valor de enum de diferentes tipos subyacentes

Enums en C# puede tener diferentes tipos subyacentes

Si el enum de C# se declara como uint, long, o ulong debemos lanzarlo al tipo correspondiente del enum.

Considere el siguiente ejemplo de Stars enum, que tiene un tipo long.

enum Stars:long 
{
    Sun = 1, Star1 = 2,Star2=3, .. Startn = n
};

var sunValue = (long)Stars.Sun;//1