Jak získat hodnotu `int` z `Enum` v jazyce C# s příklady
Chcete-li získat hodnotu int
z enum
v jazyce C#, proveďte cast proměnné enum
na celé číslo.
On this page
Řešení 1: Pro získání hodnoty int
z adresy použijte typové obsazení enum
Výchozí základní typ pro enums
v jazyce C# je Int
.
Můžeme tedy provést type cast enum
na int
, abychom získali celočíselnou hodnotu z enumu v C#.
Pro bližší pochopení si uvedeme příklad.
public enum Days
{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
Nyní budeme hodnoty enumů převádět na celočíselné hodnoty.
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
Řešení 2: Použijte metodu Convert.ToInt32()
pro získání celočíselné hodnoty z enumu
Nebo můžeme použít metodu Convert.ToInt32()
to pro převod enum
na celé číslo, jak je uvedeno níže.
int mondayValue=Convert.ToInt32(Days.Moday); //0
Získání hodnoty enum
různých základních typů
Enums
v jazyce C# mohou mít různé základní typy
Pokud je C# enum deklarován jako uint
, long
nebo ulong
, měli bychom jej předat na odpovídající typ enum
.
Uvažujme níže uvedený příklad enumu Stars
, který má typ long
.
enum Stars:long
{
Sun = 1, Star1 = 2,Star2=3, .. Startn = n
};
var sunValue = (long)Stars.Sun;//1