2013-09-03 2 views
1

8 개의 플래그를 포함 할 구조를 정의하고 싶습니다. 8 개의 부울 필드 대신 바이트 유형을 사용할 수 있습니까? 나는 이런 식으로하고 싶다.플래그 구조 정의

struct mystruct 
{ 
    byte first:1; 
    byte second:1; 
    ... 
} 

나에게 플래그 값을주는 바이너리 표현을 원한다.

그리고 1 비트 이상을 사용해야하는 값이 있으면 어떻게합니까? 지. 2

+1

가능한 열거 형 플래그 속성 –

+3

중복 된 것은 아니지만'[Flags]'속성은 다음과 같이 들립니다. 네가 여기서 쫓아 온거야. –

+1

'BitArray'처럼? –

답변

3

안녕 그것이 바이트로 변환됩니다 비밀이를 찾습니다

[FlagsAttribute] 
    public enum mystruct: byte 
    { 
     first= 1, 
     second =2 
    } 

내가 IL 코드를 게시할까요?

대한 추가 정보 : What does the [Flags] Enum Attribute mean in C#?

안녕 방법 플래그는 단순히있는 FlagsAttribute의 약어입니다.

4

4 예,이 같은 아닌 구조체로하지만 열거와 함께 할 수 있습니다

[Flags] 
public enum MyFlags 
{ 
    First = 1, 
    Second = 2, 
    Third = 4, 
    Fourth = 8 
} 
+0

고마워요. 이걸 시도 할께. – szaman

+0

@szaman 아무 문제 없어요. 작동하는 경우 답변으로 표시해주세요. – Dutts

관련 문제