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