2011-07-09 97 views

回答

6

flag & 1部分正在工作 - 但if需要布爾型表達式。所以,你可以這樣做:

if ((flag & 1) != 0) 

請注意,你必須把括號輪&表達!=具有更高的優先級(結合更緊密的)比&

如果你正在使用一組標誌,但它通常是使用枚舉的一個更好的主意。例如,看BindingFlags - 您可以使用:

if ((flags & BindingFlags.Instance) != 0) 

這增加的類型安全(所以你知道你想它有正確的標誌比較),並降低使用幻數。

0

嘗試這樣的:而if期望一個布爾表達式

if ((flag & 1) == 1) 
{ 
    ... 
} 

&操作符返回在C#的整數。