私は、次の列挙元の値を取得するためにビットをどのようにデコードするのですか?
[Flags]
enum Options
{
Option1 = 1 << 0,
Option2 = 1 << 1,
Option3 = 1 << 2
}
を持っていると私は
var options = 0;
options |= Options.Option1;
options |= Options.Option3;
// now options should equal Option1 + Option3
// I then store that single value in the database
myDatabase.Options.Submit(options);
がどのように私はその後、元の値を取得するために、「オプション」を解析するか、次のように変数を設定していたと仮定すると?
public List<Options> ParseOptions(Options options)
{
// Not sure how to parse the options.
}
'オプション&Options.Option3 = 0 '< - オプション3が選択されています! 。 (私は思う) – Joe
あなたは正しいです、ちょうどタイプの競合を避けるために、かっこの間に右にステートメントを入れてください。注意: '(オプション&Options.Option3)== Options.Option3':0でない返さint型の場合は0があなたの列挙の値ではない場合は、チェックしますすることができます私はをお勧めします(それが原因の競合することができます)。 –