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 | 31 |
Tags
- 암호화
- 형태소분석기
- MS
- 백신
- COM+
- Sliverlight
- 자바스크립트
- silverlight
- hnd-7070
- JavaScript
- 검색
- WEb 2.0 Expo
- GTD
- ASP.NET
- 개발자
- 실버라이트
- 구글
- 전기차
- 성공
- GDI+
- C#
- 해킹
- 게으름
- Ajax
- XML
- 리팩토링
- 실버라이트2
- jQuery
- .net
- Web 2.0
Archives
- Today
- Total
꿈으로 가는 작은 계단
[C#] Flag 연산 총정리 본문
C#의 Enum 타입에 대해 공부하려고 Enum values as bit flags - using FlagsAttribute을 읽다가 본문이 아닌 댓글에서 쓸만한 정보를 찾았다. Jeremy Lundy라는 사람이 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] 애트리뷰트를 쓰면 이런 게 된다.
Column MyColumns = Column.Customer | Column.Contract;
Flag 값을 확인하려면:
if((MyColumns & Column.Customer) != 0)
특정 Flag 값을 주려면:
MyColumns |= Column.Tech;
특정 Flag 값을 제거하려면:
MyColumns &= ~Column.Tech;
특정 Flag 값을 반전시키려면:
MyColumns ^= Column.Contract;
Flag 값을 모두 제거하려면:
MyColumns = Column.None;
모든 Flag 값을 적용하려면:
MyColumns = Column.All;
한두 개의 Flag 값을 제외하고 전부 적용하려면:
MyColumns = Column.All ^ Column.Tech ^ Column.Status;
출처 : http://kaistizen.net/EE/index.php/weblog/comments/csharp_flag_operations/
'소프트웨어 > C# & ASP.NET' 카테고리의 다른 글
| 웹서비스 .net compact framework 2,0 사용시 웹참조 동적으로 하기 (0) | 2008.08.27 |
|---|---|
| 닷넷 가비지 컬렉터의 동작원리 (0) | 2008.08.20 |
| UTF-8로 웹 사이트 배포하기 (0) | 2008.07.30 |
| ASP.NET 성능 개선 TIP 리스트 (0) | 2008.07.25 |
| 닷넷 C# Thread (쓰레드처리) (0) | 2008.07.24 |