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'があなたの問題を解決すると確信しています。 –