次のような状況があります。
得たenum
enum MyType{
None = 0,
First = 1,
Second = 2,
Third = 4,
//and so on
}
たとえば、指定された数値がバイナリの合計の結果であるかどうかを確認したくありません
int givenNumber = 3;
int result =
//how to get that it's sum of 2 enums in this particular case would be (int)Type.First & (int)Type.Second == 3;
私の質問が十分に明確であり、誰かがこれを手伝ってくれることを願っています.
編集
enum 値は常に 2 で駆動されます
指定された数値が異なるバイナリ合計の 1 つの例である可能性があることを確認するメソッドを作成したいと思います。
int givenNumber = 1; //1 , 3 ,5 and 7 will be the answer
- 実生活のサンプル: データベースに請負業者があり、すべての請負業者はプロデューサー = 1、サプライヤー = 2、サービス = 4 である場合があります。この場合、int 値を 1 つだけ格納できるのが最も賢明な選択です。Service - Contractors のコンボボックスにアイテムをロードするとき、たとえば値 4 または 5 または 7 を持つすべての行をロードします (7 = 1+2+4、5 = 1+4 および 4=4 のため)。
私の質問はより明確になりましたか?