[C#] 4.2 열거형

열거형은 enum 키워드를 사용하여 상수 집합 목록을 열거자 목록에 선언하여 사용될 수 있는 값의 종류를 사용자가 정의하는 형식입니다. 열거형을 정의할 때 나열할 수 있는 상수 집합 목록의 요소는 기본적으로 정수(int) 형식입니다.

위의 코드는 계절을 Season 이름의 열거형을 정의한 예입니다. 이 경우에 NonSeason부터 차례대로 0, 1, 2, 3, 4에 해당하는 값으로 정의됩니다. NonSeason은 Season 형식의 기본값으로 사용할 수 있게 선언한 것으로 반드시 있을 필요는 없지만 적절한 값이 아님을 나타내기 위해 선언하였습니다. MSDN에서는 될 수 있으면 0값을 사용하지 말거나 적절한 값이 아님을 나타내기 위한 값을 선언하여 디폴트 값으로 사용하라고 권고하고 있습니다.

▶ 열거형 사용 예

▶ 실행 결과

그리고 개발자는 열거형 형식에 선언한 각 열거 목록의 값을 명시적으로 지정할 수 있습니다. 목록에 명시되지 않은 것은 앞 목록의 값+1이 됩니다.

C#에서의 열거형에 선언된 목록의 기본값은 int 형식을 기반으로 하지만 다른 정수 형식으로 정의할 수도 있습니다. 참고로 char 형식은 불가능합니다.

그리고 C#에서는 비트 연산을 통해 여러 열거 목록을 표현하기 쉬울 때 Flags Attribute를 명시하여 열거형을 정의하는 방법을 지원합니다.

▶ 결과