Jak uzyskać wartość `int` z `Enum` w C# z przykładami
Aby uzyskać wartość int
z enum
w C#, zamień zmienną enum
na liczbę całkowitą.
On this page
Rozwiązanie 1: Użyj rzutowania typu, aby uzyskać wartość int
z enum
Domyślnym typem bazowym dla enums
w C# jest Int
.
Możemy więc zamienić typ enum
na int
, aby uzyskać wartość całkowitą z enum w C#.
Aby lepiej to zrozumieć, posłużymy się przykładem.
public enum Days
{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
Teraz zamienimy wartości wyliczeniowe na wartości całkowite.
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
Rozwiązanie 2: Użyj metody Convert.ToInt32()
, aby uzyskać wartość całkowitą z enum
Możemy też użyć metody Convert.ToInt32()
to do konwersji wartości enum
na liczbę całkowitą, jak pokazano poniżej.
int mondayValue=Convert.ToInt32(Days.Moday); //0
Uzyskaj wartość enum
dla różnych typów bazowych
Enums
w języku C# mogą mieć różne typy bazowe
Jeśli w języku C# enum jest zadeklarowane jako uint
, long
, lub ulong
, powinniśmy rzutować je na odpowiadający im typ enum
.
Rozważmy poniższy przykład enum Stars
, które ma typ long
.
enum Stars:long
{
Sun = 1, Star1 = 2,Star2=3, .. Startn = n
};
var sunValue = (long)Stars.Sun;//1