참고자료 : 닷넷 프로그래밍 정복(김상형) p.94
MSDN 관련 페이지 : http://msdn.microsoft.com/ko-kr/library/sbbt4032.aspx
열거형은 C/C++과 같이 enum 키워드로 정의 할 수 있다. 하지만 다른점이 몇가지 있다.
1. 타입을 정의 하는 문장은 명령이 아니기 때문에 열거형 정의문 뒤에 세미콜론을 붙이지 않는다.
2. 열거멤버 자체를 곧바로 사용할 수 없으며 반드시 열거타입.멤버 식으로 사용해야 한다.
열거형 정의 방법
enum Origin { East, West, South, North }
enum Origin { East = 1, West = 5, South, North }
// 값이 생략된 멤버는 자동적으로 이전멤버의 값보다 1 더 큰 값을 갖는다.
열거형의 특징
열거형은 내부적으로 정수형으로 저장되는데 별다른 지정이 없으면 4바이트의 int 타입을 가진다. int 타입의 열거형은 최대 40억개의 열거 멤버를 정의할 수 있어 크기가 충분하다. 그러나 너무 충분해서 기억장소가 다소 낭비되는데 선언할 때 열거타입 이름 다음에 내부 저장 타입을 지정하면 용량을 다소 아낄 수 있다.
enum Origin : byte { East, West, South, North }
열거형 사용법
using System;
class CSTest
{
enum Origin { East, West, South, North }
static void Main()
{
Origin Turn;
Turn = Origin.South;
Console.WriteLine(Turn);
int Value1 = (int)Turn;
int Value2 = (int)Origin.South;
Console.WriteLine(Value1);
Console.WriteLine(Value2);
string name = Turn.ToString();
Console.WriteLine(name);
Turn = (Origin)Enum.Parse(typeof(Origin), "East");
Console.WriteLine(Turn);
}
}
댓글을 달아 주세요