0

私は次のアイテムを持っています

Apple = 00000001(1)

マンゴー=00000010(2)

バナナ=00000100(4)

ブドウ=00001000(8)

今、私はユーザーがこれを行うか、またはすることによってこのように持つことができる果物を保存しています

UserA- 00000001(Apple)または'd 00000010(Mango)= 00000011(ie 3)

そのユーザーにAppleまたはBananaが含まれているかどうかを確認したいですか?今まで私はこれを考えています:(ユーザーAの値)&(アップル|バナナ)=(アップル|バナナ)

すなわち(00000011)&(00000001 | 00000100)=(00000001 | 00000100)

しかし、それは機能していませんか?何が欠けているのかわかりますか?

4

2 に答える 2

4

あなたはアップルとバナナをチェックしています。式は(UserA's-Values)&(Apple | Banana)(!= 0)である必要があります

于 2011-01-17T12:04:22.103 に答える
0

ビットは、EnumとStructの両方に格納および操作できます。

列挙型の場合:http://msdn.microsoft.com/en-us/library/cc138362.aspx
構造体の場合:C#のビットフィールド

列挙型は.ToString()、要素のコマ区切りのリストを出力するので便利ですが、それでも標準のAND/OR演算子を使用して操作およびテストします。

于 2011-01-17T17:03:31.233 に答える