프로필사진

Go, Vantage point

가까운 곳을 걷지 않고 서는 먼 곳을 갈 수 없다.


Github | https://github.com/overnew/

Blog | https://everenew.tistory.com/





티스토리 뷰

반응형

 

 

처음에 enum을 접했을 때 도대체 왜 쓰는지 몰라서 당혹했던 기억이 있다.

하지만 상수가 많이 사용되는 상황에서는 이만큼 편리한 자료형이 없다!!

 

다음과 같이 이름을 나열하면 기본적으로 정수 숫자의 상수형이 된다.

 

1
2
3
4
5
6
enum StageName
{
    start, 
    middle,
    end
}
cs

 

따라서 start = 0, middle = 1, end = 2를 나타내게 된다.

열거형도 하나의 자료구조(struct 혹은 class)라고 생각하고, 사용할 때는 열거형명.키워드 로 사용할 수 있다.

(ex: (int)StageName.start == 1)

단, IDE가 enum의 값마다 형식을 인식하지 못하므로 형식이 int값이라면 (int)로 형변환하여 사용해야 한다.

 

 

 

 

연속된 정수가 아닌 값을 적용하고 싶다면 값을 대입해 주면 된다.

 

1
2
3
4
5
6
enum StageName
{
    start = 0
    middle = 3,
    end = 500
}
cs

 

(ex: (int)StageName.end == 500)

 

 

 

 

열거형을 사용하다 보면 반대로 키워드를 상수값으로 변환할 필요가 있을 수 있다.

이때는 간단하게 "(열거형명)상수값"으로 형변환하여 사용하면 된다.

 

(ex: (StageName)500 == StageName.end )

 

 

잘 이용한다면 상수를 관리하는데 효과적이기 때문에 특히 비트 연산에 잘 사용되는 듯하다.

하지만 정수형 값만 대입할 수 있으므로 만능은 아님에 주의하며 사용해보자.

 

 

 

참조: https://docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/builtin-types/enum

반응형
댓글
반응형
인기글
Total
Today
Yesterday
«   2024/05   »
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
글 보관함