如何在BYTE和INT之間使用&運算符?c#字節AND運算符
據說這裏:
http://int64.org/docs/gamestat-protocols/ase.html
但是在PHP它的工作,但在C#中不...
PHP:
if ($flag & 1)
...
}
C#
if (flag & 1)
{
...
}
如何在BYTE和INT之間使用&運算符?c#字節AND運算符
據說這裏:
http://int64.org/docs/gamestat-protocols/ase.html
但是在PHP它的工作,但在C#中不...
PHP:
if ($flag & 1)
...
}
C#
if (flag & 1)
{
...
}
flag & 1
部分正在工作 - 但if
需要布爾型表達式。所以,你可以這樣做:
if ((flag & 1) != 0)
請注意,你必須把括號輪&
表達!=
具有更高的優先級(結合更緊密的)比&
。
如果你正在使用一組標誌,但它通常是使用枚舉的一個更好的主意。例如,看BindingFlags
- 您可以使用:
if ((flags & BindingFlags.Instance) != 0)
這增加的類型安全(所以你知道你想它有正確的標誌比較),並降低使用幻數。
嘗試這樣的:而if
期望一個布爾表達式
if ((flag & 1) == 1)
{
...
}
的&
操作符返回在C#的整數。
你必須更精確地說「不工作」。不過,我確定'flag&1 == 1'將解決您的問題。 –