Hur man hämtar värdet `int` från `Enum` i C# med exempel
Om du vill få fram int
-värdet från enum
i C#, kastar du enum
-variabeln till heltal.
On this page
Lösning 1: Använd Type cast för att få fram int
-värdet från enum
Den underliggande standardtypen för enums
i C# är Int
.
Så vi kan typkasta enum
till int
för att få ett heltalsvärde från enum i C#.
Vi tar ett exempel för att förstå det ytterligare.
public enum Days
{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
Nu ska vi omvandla enumvärden till heltalsvärden.
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
Lösning 2: Använd Convert.ToInt32()
-metoden för att få ett heltalsvärde från enum
Eller så kan vi använda Convert.ToInt32()
to-metoden för att konvertera enum
till heltal enligt nedan.
int mondayValue=Convert.ToInt32(Days.Moday); //0
Hämta enum
-värdet för olika underliggande typer
Enums
i C# kan ha olika underliggande typer
Om C# enum deklareras som uint
, long
eller ulong
ska vi kasta det till motsvarande typ av enum
.
Se nedanstående exempel på Stars
enum, som har typen long
.
enum Stars:long
{
Sun = 1, Star1 = 2,Star2=3, .. Startn = n
};
var sunValue = (long)Stars.Sun;//1