如何在BYTE和INT之间使用&运算符?
这里说:
http://int64.org/docs/gamestat-protocols/ase.html
但是在php中它的工作却在c#中不...
PHP:
if ($flag & 1)
...
}
Run Code Online (Sandbox Code Playgroud)
C#
if (flag & 1)
{
...
}
Run Code Online (Sandbox Code Playgroud)
该flag & 1部分正在运行 - 但if需要一个布尔表达式.所以你可以这样做:
if ((flag & 1) != 0)
Run Code Online (Sandbox Code Playgroud)
请注意,您必须将括号放在表达式周围,&因为它!=具有更高的优先级(绑定更紧)&.
如果你正在使用一组标志,那么使用枚举通常是一个更好的主意.例如,看看BindingFlags- 您可能会使用:
if ((flags & BindingFlags.Instance) != 0)
Run Code Online (Sandbox Code Playgroud)
这增加了类型的安全性(所以你知道你正在尝试将它与正确的标志进行比较)并减少幻数的使用.
| 归档时间: |
|
| 查看次数: |
518 次 |
| 最近记录: |