Come ottenere il valore di `int` da `Enum` in C# con esempi
Per ottenere il valore di int
da enum
in C#, eseguire il cast della variabile enum
in un numero intero.
On this page
Soluzione 1: Usare il cast di tipo per ottenere il valore di int
da enum
Il tipo sottostante predefinito per enums
in C# è Int
.
Possiamo quindi eseguire il cast di tipo da enum
a int
per ottenere il valore intero da enum in C#.
Facciamo un esempio per capire meglio.
public enum Days
{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
Ora eseguiremo il cast dei valori enum in valori interi.
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
Soluzione 2: Utilizzare il metodo Convert.ToInt32()
per ottenere il valore intero da enum
Oppure si può usare il metodo Convert.ToInt32()
to per convertire un enum
in intero, come mostrato di seguito.
int mondayValue=Convert.ToInt32(Days.Moday); //0
Ottenere il valore enum
di diversi tipi sottostanti
Enums
in C# possono avere tipi sottostanti diversi
Se l’enum C# è dichiarato come uint
, long
, o ulong
, dobbiamo eseguire il cast al tipo corrispondente di enum
.
Consideriamo il seguente esempio di enum Stars
, che ha un tipo long
.
enum Stars:long
{
Sun = 1, Star1 = 2,Star2=3, .. Startn = n
};
var sunValue = (long)Stars.Sun;//1