연관된 상수들에 이름을 지을 수 있다. 이를 통해 가독성이 향상되고, 상수를 사용할 때 실수를 방지할 수있다.
상수의 의미를 명확하게 할 수 있으며, 여러 군데에 쓰인 상수를 한 번에 수정할 수도 있다.
스위치문과 함께 사용할 때 유용하다. 상수 값에 대한 분기를 이해하기 쉽게 작성할 수 있다.
enum MyEnum
{
Value1, // 상수값을 대입하지 않으면 0부터 시작
Value2,
Value3
}MyEnum myEnum = MyEnum.Value1;enum MyEnum
{
Value1 = 10,
Value2, // 바로 직전 값에 +1 // 11
Value3 = 20
}int intValue = (int)MyEnum.Value1; // 열거형 값을 정수로 변환
MyEnum enumValue = (MyEnum)intValue; // 정수를 열거형으로 변환switch(enumValue)
{
case MyEnum.Value1:
// Value1에 대한 처리
break;
case MyEnum.Value2:
// Value2에 대한 처리
break;
case MyEnum.Value3:
// Value3에 대한 처리
break;
default:
// 기본 처리
break;
}public enum Direction
{
Left,
Right,
Up,
Down
}
class Program
{
static void Main(string[] args)
{
switch (Direction)
{
case Direction.Left:
// Left에 대한 처리
break;
case Direction.Right:
// Right에 대한 처리
break;
case Direction.Up:
// Up에 대한 처리
break;
case Direction.Down:
// Down에 대한 처리
break;
default:
// 기본 처리
break;
}
}
}