)。a = 8、b = 2 の 2 つの整数があるとします。C++ では、a | b は真です。その動作を使用して、フラグのコレクションを操作しました。たとえば、フラグは 1、2、4、8 などであり、それらのコレクションは一意になります。|として、C#でそれを行う方法が見つかりません。および & 演算子は、C++ の場合のようには動作しません。C# の演算子に関するドキュメントを読みましたが、まだわかりません。
編集:
残念ながら、私はどこかで物事を台無しにしているようです。たとえば、次のコードをご覧ください。
byte flagCollection = 8;
byte flag = 3;
if ((flag | flagCollection) != 0) MessageBox.Show("y"); else MessageBox.Show("n");
これは、フラグに入力した値に対して「y」を返します。3 | 8 は 11 になります。うーん... 私がやりたいのは、1、2、4、8、16 のフラグ コレクションを用意することです。数値を指定すると、それがどのフラグであるかを判断できるようになります。