나는 다음과 같은 열거어떻게 원래 값을 얻기 위해 비트를 디코딩합니까?
[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
당신이 옳다면, 형식 충돌을 피하기 위해 오른쪽 괄호 사이에 문장을 넣으십시오. 참고 : 0이 열거 형의 값이 아닌 경우 반환 된 int가 0이 아닌지 검사 할 수 있습니다 (충돌의 원인이 될 수 있음). (option & Options.Option3) == Options.Option3'. –