[C#]enum의 Flag 연산!
Unity3D 2017. 4. 28. 14:22enum(열거형)에서는 Flag(FlagsAttribute)속성이 있는데, 이를 이용하면 하나의 속성을 선택하는 것이 아니라 여러 속성을 선택하는 것이 가능합니다.
다음의 코드는 열거형의 Flag연산을 쉽게 정리해 놓은 것입니다.
[Flags]
public enum Column
{
None = 0,
Priority = 1 << 0,
Customer = 1 << 1,
Contract = 1 << 2,
Description = 1 << 3,
Tech = 1 << 4,
Created = 1 << 5,
Scheduled = 1 << 6,
DueDate = 1 << 7,
All = int.MaxValue
};
[Flags] 속성을 사용하면 아래와 같은 코드가 가능합니다.(두 속성을 하나의 변수에 담는 것):
값이 존재하는지 확인:
특정 값을 추가:
특정 값을 제거:
특정 값을 반전(1은 0으로, 0은 1로):
모든 값 삭제:
모든 값 설정:
특정 값을 제외하고 모두 설정:
출처: Wim's .NET blog, http://weblogs.asp.net/wim/archive/2004/04/07/109095.aspx, Jeremy Lundy의 댓글
출처: http://sjpison.tistory.com/1 [비손의 블로그]
'Unity3D' 카테고리의 다른 글
FPSDisplayer (0) | 2017.05.17 |
---|---|
IL2CPP 최적화 (0) | 2017.05.12 |
Unity 5 마지막 버전 Unity 5.6 안내 (0) | 2017.04.20 |
"AmplifyColorEditor" 참조의 프로세서 아키텍처 "x86"이(가) 일치하지 않습니다. (0) | 2017.04.12 |
VS에서 에러 확인안하면 생기는 일... (0) | 2017.04.11 |