enum에 여러 상태를 포함시키기
c나 c++에서는 간단히(?) bit mask를 사용하면 되는데, c#에도 비슷한게 있을듯 해서 찾아보니, enum을 이용하는 방법이 있었다.
- [Flags]
- enum EastAsia : int
- {
- None = 0,
- Korea = 1 << 0,
- Japan = 1 << 1,
- China = 1 << 2,
- AllContries = int.MaxValue
- }
- EastAsia ea = EastAsia.Korea | EastAsia.Japan;
- if ((ea & EastAsia.Korea) != 0)
- {
- // 이 조건은 true
- }
- if ((ea & EastAsia.Japan) == EastAsia.Japan)
- {
- // 이 조건도 true
- }
c/c++의 bit mask와 원리는 같지만, 뭔가 세련되 보인다. -_-b
'소프트웨어 개발' 카테고리의 다른 글
| ATL ActiveX 만들기 - Part1. 프로젝트 구성 (12) | 2010/06/22 |
|---|---|
| RGB를 Int32로 변환하기 (8) | 2009/10/13 |
| enum에 여러 상태를 포함시키기 (20) | 2009/10/07 |
| Windows API - CX/CY의 뜻은? (2) | 2009/06/15 |
| Oracle Instant Client를 사용해서 ODAC개발할 때 TypeInitializationException (9) | 2009/06/05 |
| CVS sticky tag 관련 오류 (11) | 2009/06/04 |

Tag //

Comment List
지나가다: enum 을 그런 용도로 사용하시려면 Flags attribute를 지정하시는 편이 좋습니다. base type도 선언하시구요.
http://msdn.microsoft.com/en-us/library/system.flagsattribute.aspx
감사합니다! 덕분에 제대로 배우게 되었네요
본문에도 수정해 두었습니다~
아.. 무슨이야긴지 모르겠어요 ㅋ
사실은 저도 그래요 ㅋㅋ
뭔가 세련되 보인다.(2)
내가? 후훗!!
그렇게 대충대충 하면 안되효 ㅋ
인생이 대충대충 이라서요 ㅋㅋ
그러니까 한국이 짱이라는 거군요!
역시 요점을 잘 짚어 내시는군요!
개구리 올챙이 적 생각도 못 한다
개구리 올챙이 적 생각도 못 한다
떡 본 김에 제사 지낸다
웃는 낯에 침 뱉으랴
떡 본 김에 제사 지낸다
수박 겉 핥기
가는말이 고와야 오는말이 곱다
사공이 많으면 배가 산으로 간다
과부 사정 홀아비가 안다
손바닥으로 하늘을 가리려한다