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/

반응형

+ Recent posts