Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 인터페이스
- callbyvalue
- callbyreference
- 짐벌락
- 깃허브
- Quaternion
- 소규모프로젝트
- 1인개발
- AR Foundation
- ar
- ExtensionMethod
- 레이캐스트
- 로케트
- 병맛게임
- 게임
- 유니티
- raycast
- 게임제작
- 리듬게임에디터
- 델리게이트
- ARProgect
- Unity
- 리듬게임
- C#
- 게임개발
- AR게임
- AR세팅
- Euler
- github
- 확장메서드
Archives
- Today
- Total
Ssssong += Dev
[C#] Flag연산 본문
비트 연산은 선언된 값의 합이 다른 멤버의 값과 절대로 겹치지 않는다.
왼쪽 1
오른쪽 2
위 4
아래 8
이런식으로 선언한다면 연산의 합이 각 멤버와 겹치지 않으므로 고유한 조합의 계산이 가능하여
한 변수에 여러 옵션을 넣고 빼는 것이 가능하다. enum을 [Flag] 어트리뷰트를 사용하여 선언할 수 있다.
[Flags]
public enum Ways
{
Left = 1,
Right = 2,
Up = 4,
Down = 8
}
사용할 때는 비트연산자를 이용한다.
Ways way = Ways.Left | Ways.Right;
매번 2곱해서 계산하기 귀찮으면 이렇게 표기도 된다.
[Flags]
public enum Ways
{
Left = 1 << 0,
Right = 1 << 1,
Up = 1 << 2,
Down = 1 << 3
}
맨 위 코드와 같은 값이다.
'개발 > 공부' 카테고리의 다른 글
[유니티] SerializedObejct (0) | 2022.10.06 |
---|---|
[C#] C# Coding Conventions (0) | 2022.09.14 |
[C] 위키백과 읽기 - 1. C언어의 개발 배경과 특징 (1) | 2022.09.13 |
[유니티] 빌드 후 셰이더 적용이 안될 떄 (0) | 2022.08.20 |
[유니티/Fmod] Fmod를 통한 사운드 설정 (0) | 2022.08.07 |