Kaip gauti `int` reikšmę iš `Enum` C# kalba su pavyzdžiais
Norėdami gauti int
reikšmę iš enum
in C#, enum
kintamąjį paverskite sveikuoju skaičiumi.
On this page
1 sprendimas: naudokite Type cast, kad gautumėte int
reikšmę iš enum
Numatytasis pagrindinis enums
tipas C# kalboje yra Int
.
Taigi, norėdami gauti sveikojo skaičiaus reikšmę iš C# enumo, galime enum
tipą pakeisti į int
.
Kad geriau suprastume, pateiksime pavyzdį.
public enum Days
{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
Dabar enum reikšmes paversime sveikųjų skaičių reikšmėmis.
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
2 sprendimas: Naudokite Convert.ToInt32()
metodą, kad iš enum gautumėte sveikojo skaičiaus reikšmę
Arba galime naudoti Convert.ToInt32()
to metodą, kad konvertuotume enum
į sveiką skaičių, kaip parodyta toliau.
int mondayValue=Convert.ToInt32(Days.Moday); //0
Gauti skirtingų pagrindinių tipų enum
reikšmę
Enums
c# gali turėti skirtingus pagrindinius tipus
Jei C# enumas deklaruojamas kaip uint
, long
arba ulong
, turėtume jį paversti atitinkamu enum
tipu.
Panagrinėkime toliau pateiktą Stars
enumo pavyzdį, kuris turi tipą long
.
enum Stars:long
{
Sun = 1, Star1 = 2,Star2=3, .. Startn = n
};
var sunValue = (long)Stars.Sun;//1