Daugiau
Int reikšmės gavimas iš enumo naudojant C#
Turiu klasę, kuri vadinasi Klausimai
(daugiskaita). Šioje klasėje yra enumas, vadinamas Klausimas
(vienaskaita), kuris atrodo taip.
public enum Question
{
Role = 2,
ProjectFunding = 3,
TotalEmployee = 4,
NumberOfServers = 5,
TopBusinessConcern = 6
}
Klasėje Questions
turiu funkciją get(int foo)
, kuri grąžina Questions
objektą tam foo
. Ar yra paprastas būdas gauti sveikojo skaičiaus reikšmę iš sąrašo, kad galėčiau padaryti kažką panašaus į Questions.Get(Question.Role)
?
1680
3
Tiesiog atvaizduokite enumą, pvz.
Pirmiau aprašytas būdas tinka daugumai enumų, kuriuos galima pamatyti gamtoje, nes numatytoji pagrindinė enumo rūšis yra
int
.Tačiau, kaip nurodo cecilphillip, enumai gali turėti skirtingus pagrindinius tipus. Jei enumas deklaruojamas kaip
uint
,long
arbaulong
, jis turėtų būti perskaičiuotas į enumo tipą; pvz.reikėtų naudoti
Rezultatas bus
value == 2
.Tai paprasčiau, nei manote - enum jau yra int. Apie tai reikia tik priminti: