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