C#에서 enum(열거형)은 이름이 지정된 상수 집합을 정의하는 데 사용됩니다. 기본적으로 enum의 첫 번째 멤버는 0부터 시작하며, 이후 멤버들은 순차적으로 1씩 증가합니다. 때때로 enum 값을 정수(int) 형태로 변환해야 할 필요가 있는데, 이 경우 간단한 타입 캐스팅(typecasting)을 사용하면 됩니다.
enum 선언하기
먼저 아래와 같이 enum을 선언합니다.
public enum Vehicle { Car, Bus, Truck }enum을 int로 캐스팅하기
enum 값을 int로 변환하려면 명시적 타입 캐스팅을 사용합니다. 캐스팅 연산자 (int)를 enum 멤버 앞에 붙이기만 하면 됩니다.
int a = (int)Vehicle.Car;
전체 예제 코드
다음은 enum을 int로 변환하는 전체 코드입니다.
using System;
public class Demo {
public enum Vehicle { Car, Bus, Truck }
public static void Main() {
int a = (int)Vehicle.Car;
int b = (int)Vehicle.Bus;
int c = (int)Vehicle.Truck;
Console.WriteLine("Car = {0}", a);
Console.WriteLine("Bus = {0}", b);
Console.WriteLine("Truck = {0}", c);
}
}실행 결과
Car = 0 Bus = 1 Truck = 2
참고 사항
기본적으로 enum 멤버는 위 예제처럼 0부터 순차적으로 값이 할당됩니다. 만약 특정 값부터 시작하고 싶다면 다음과 같이 명시적으로 값을 지정할 수도 있습니다.
public enum Vehicle { Car = 10, Bus = 20, Truck = 30 }이 경우 (int)Vehicle.Car는 10을 반환하게 됩니다. 이러한 방식으로 enum의 내부 값을 자유롭게 제어할 수 있으며, 데이터베이스 저장이나 API 통신 등 정수 값이 필요한 다양한 상황에서 유용하게 활용할 수 있습니다.