Daha
C#'ta enum'dan int değeri alma
Benim Questions
(çoğul) adında bir sınıfım var. Bu sınıfta Question
(tekil) adında bir enum var ve bu enum aşağıdaki gibi görünüyor.
public enum Question
{
Role = 2,
ProjectFunding = 3,
TotalEmployee = 4,
NumberOfServers = 5,
TopBusinessConcern = 6
}
Questionssınıfında, o
fooiçin bir
Questionsnesnesi döndüren bir
get(int foo)işlevim var. Enumdan tamsayı değerini almanın kolay bir yolu var mı, böylece
Questions.Get(Question.Role)` gibi bir şey yapabilir miyim?
1680
3
Sadece enum dökümünü yapın, örn.
Bir enum için varsayılan temel tür
int
olduğundan, yukarıda anlatılanlar doğada gördüğünüz enumların büyük çoğunluğu için işe yarayacaktır.Ancak, cecilphillip'in de belirttiği gibi, enum'lar farklı temel türlere sahip olabilir. Eğer bir enum bir
uint
,long
veyaulong
olarak bildirilmişse, enumun tipine dönüştürülmelidir; örn.kullanmalısınız
Değer == 2` ile sonuçlanacaktır.
Bu düşündüğünüzden daha kolaydır - bir enum zaten bir int'tir. Sadece hatırlatılması gerekir: