이 블로그는 http://blog.greenmaru.com으로 이동 하였습니다.
2010년 12월 이후 업데이트는 새로운 블로그를 통해서만 이루어 집니다. 현재 보고 계신 페이지는 2011년 12월에 없어질 예정 이므로, 필요하신 분께서는 새로운 블로그로 링크를 변경해 주시기 바랍니다.
번거롭게 해 드려 죄송합니다.
<greenb>

enum에 여러 상태를 포함시키기

간혹 하나의 변수로 여러가지 상태를 동시에 표현하고 싶을때가 있다.
c나 c++에서는 간단히(?) bit mask를 사용하면 되는데, c#에도 비슷한게 있을듯 해서 찾아보니, enum을 이용하는 방법이 있었다.

  1. [Flags]
  2. enum EastAsia : int
  3. {
  4.     None = 0,
  5.     Korea = 1 << 0,
  6.     Japan = 1 << 1,
  7.     China = 1 << 2,
  8.     AllContries = int.MaxValue
  9. }
  10. EastAsia ea = EastAsia.Korea | EastAsia.Japan;
  11. if ((ea & EastAsia.Korea) != 0)
  12. {
  13.     // 이 조건은 true
  14. }
  15. if ((ea & EastAsia.Japan) == EastAsia.Japan)
  16. {
  17.     // 이 조건도 true
  18. }

c/c++의 bit mask와 원리는 같지만, 뭔가 세련되 보인다. -_-b

저작자 표시 비영리 변경 금지
Tag // , , ,

Trackback Address >> http://greenmaru.com/trackback/74 관련글 쓰기

Comment List

  1. 미히 2009/10/08 09:30 address / modify or delete / reply

    지나가다: enum 을 그런 용도로 사용하시려면 Flags attribute를 지정하시는 편이 좋습니다. base type도 선언하시구요.
    http://msdn.microsoft.com/en-us/library/system.flagsattribute.aspx

    • BlogIcon 그린B 2009/10/09 09:59 address / modify or delete

      감사합니다! 덕분에 제대로 배우게 되었네요 :)
      본문에도 수정해 두었습니다~

  2. attuner 2009/10/08 11:10 address / modify or delete / reply

    아.. 무슨이야긴지 모르겠어요 ㅋ

  3. BlogIcon NIXXXON 2009/10/08 17:58 address / modify or delete / reply

    뭔가 세련되 보인다.(2)

  4. 왕박 2009/10/12 16:34 address / modify or delete / reply

    그렇게 대충대충 하면 안되효 ㅋ

  5. BlogIcon 별바람 2009/10/13 00:49 address / modify or delete / reply

    그러니까 한국이 짱이라는 거군요!

  6. BlogIcon 원숭이 2011/11/22 00:38 address / modify or delete / reply

    개구리 올챙이 적 생각도 못 한다

  7. BlogIcon 인형 2011/11/23 12:41 address / modify or delete / reply

    개구리 올챙이 적 생각도 못 한다

  8. BlogIcon Trust Deed 2011/12/03 01:25 address / modify or delete / reply

    떡 본 김에 제사 지낸다

  9. BlogIcon 당근 2011/12/07 20:11 address / modify or delete / reply

    웃는 낯에 침 뱉으랴

  10. BlogIcon 원숭이 2012/01/05 08:35 address / modify or delete / reply

    떡 본 김에 제사 지낸다

  11. BlogIcon 아가 2012/01/07 05:13 address / modify or delete / reply

    수박 겉 핥기

  12. BlogIcon 원숭이 2012/01/11 06:10 address / modify or delete / reply

    가는말이 고와야 오는말이 곱다

  13. BlogIcon 윤석영 2012/01/11 07:29 address / modify or delete / reply

    사공이 많으면 배가 산으로 간다

  14. BlogIcon 인형 2012/01/12 17:25 address / modify or delete / reply

    과부 사정 홀아비가 안다

  15. BlogIcon 윤석영 2012/01/13 17:01 address / modify or delete / reply

    손바닥으로 하늘을 가리려한다

|  1  | ...  28  |  29  |  30  |  31  |  32  |  33  |  34  |  35  |  36  | ...  104  |