enum은 열거형 상수(constant)를 표현하기 위한 것
일반 상수 숫자들보다 의미있는 단어들로 표현해 가독성 증가
별도의 지정이 없다면 enum의 각 요소는 0부터 선언한 순서대로 할당된다
enum문은 클래스 안이나 네임스페이스 내에서만 선언될 수 있고 메서드나 property 안에서 선언되지 않는다
enum 타입의 변수는 int로 변환될 수 있다(실패 가능)
using System;
namespace ex_csharp
{
class Program
{
public enum Food
{
Cake, // 0
IceCream, // 1
Bread // 2
}
static void Main(string[] args)
{
Food morning = Food.Bread;
if (morning == Food.Bread) // enum 리터럴과 비교
Console.WriteLine("오늘 아침은 빵입니다~");
int morning_int = (int)Food.Bread; // int형으로 Casting(실패 가능)
}
}
}