"Değer" 0 ila 15 arasındadır (olası değerleri). Bu 4 "if" koşulu ne zaman karşılanacak? (İnt) değerim = 2 ise, bu 0010 anlamına mı geliyor?
if ((int)value & 0x1)
{
//statement here
}
if ((int)value & 0x2)
{
//statement here
}
if ((int)value & 0x4)
{
//statement here
}
if ((int)value & 0x8)
{
//statement here
}
Enum.HasFlag
bitleri test etmek için yöntemi kullanır. Bakınız: Enum.HasFlag .
value
(okumaif(value & 0x4)
"nin 3. bit mi olarakvalue
görünüşte kodu anlamakta problem olarak ayarlanmış (= 1)). Ben senin değil varsayalım. Soran olmadığını bu (ve aslında inceleme) için bu soruyu konu dışı kılan CR.SE .