Section 22.1: Enum 에 대한 기본 사항들
MSDN 의 설명을 참조하면:
열거형 타입 (enumeration 혹은 enum 이라고도 이름붙여진) 은 변수에 할당 가능한 명명된 정수 숫자 형식의 상수 집합 을 선언할 수 있는 효율적인 방법을 제공한다.
기본적으로, enum
은 한정된 집합 내의 선택지만을 허용하는 타입이며 각 선택지는 특정 숫자에 해당하는 값을 가진다. 기본적으로, 이 숫자들은 선언된 순서대로 0 부터 하나씩 증가하는 값들이다. 사용 예를 보면, 요일을 나타내는 enum
을 다음과 같이 선언할 수 있다:
public enum Day
{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
이렇게 선언된 enum
은 아래와 같이 사용될 수 있다:
// 변수들로 하여금 특정 요일에 해당하는 값을 갖도록 정의한다
Day myFavoriteDay = Day.Friday;
Day myLeastFavoriteDay = Day.Monday;
// myFavoriteDay 에 해당하는 int 값을 얻어온다
// 금요일은 숫자 4 에 해당한다
int myFavoriteDayIndex = (int)myFavoriteDay;
// 숫자 5 로 표현되는 요일을 얻어온다
Day dayFive = (Day)5;
기본적으로 각 enum
요소들의 내부 타입은 int
이나, byte
, sbyte
, short
, ushort
, uint
, long
그리고 ulong
타입 역시 사용될 수 있다. int
이외의 타입을 사용하고자 한다면, enum
의 이름 다음에 콜론 (:
) 을 사용하여 원하는 타입을 기술하도록 한다:
public enum Day : byte
{
// 이전과 동일한 부분
}
각 요일의 이름에 해당하는 숫자 값들은 이제 integer
가 아닌 byte
타입이 될 것이다. 특정 enum
이 내부적으로 표현되는 타입 정보는 아래와 같은 방법으로 얻어올 수 있다:
Enum.GetUnderlyingType(typeof(Days)));
출력 결과:
System.Byte
데모: .NET fiddle
본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.
[출처] https://books.goalkicker.com/CSharpBook/
반응형
'번역 > C# Notes for Professionals' 카테고리의 다른 글
22.3: 플래그 선언을 위한 << 표기법 (0) | 2021.05.18 |
---|---|
22.2: Enum 값을 플래그 (flag) 로 사용하기 (0) | 2021.05.14 |
22: Enum (0) | 2021.05.12 |
21.1: 배열의 내용을 주어진 값만큼 shift rotate 시키는 generic 메소드 예제 (0) | 2021.05.10 |
20.12: 하나의 배열이 다른 배열의 내용을 포함하고 있는지 검사하기 (0) | 2021.05.10 |