● 열거형이란?
- 여러개의 상수를 하나의 컨테이너에서 관리하기 위해 사용하는 자료형
● 열거형 특징?
- 연관된 상수들을 명명해서 가독성이 좋음
- 스위치문과의 호환성이 좋음
- 열거형의 각 상수는 정수 값으로 지정
● 예시
enum MyEnum
{
Value1, // 0
Value2, // 1
Value3 // 2
}
enum MyEnum
{
Value1 = 10,
Value2, // 11
Value3 = 20
}
// 사용
MyEnum enumValue = MyEnum.Value1;
switch(enumValue)
{
case MyEnum.Value1:
// Value1에 대한 처리
break;
case MyEnum.Value2:
// Value2에 대한 처리
break;
case MyEnum.Value3:
// Value3에 대한 처리
break;
default:
// 기본 처리
break;
}
※ 열거형 형변환
int intValue = (int)MyEnum.Value1; // 열거형 값을 정수로 변환
MyEnum enumValue = (MyEnum)intValue; // 정수를 열거형으로 변환
* 열거형의 각 상수는 바로 int 값으르 사용할 수 없음
※ 입력 월 출력하기
// 월 열거형
public enum Month
{
January = 1,
February,
March,
April,
May,
June,
July,
August,
September,
October,
November,
December
}
// 처리하는 함수
static void ProcessMonth(int month)
{
if (month >= (int)Month.January && month <= (int)Month.December)
{
Month selectedMonth = (Month)month;
Console.WriteLine("선택한 월은 {0}입니다.", selectedMonth);
// 월에 따른 처리 로직 추가
}
else
{
Console.WriteLine("올바른 월을 입력해주세요.");
}
}
// 실행 예제
static void Main()
{
int userInput = 7; // 사용자 입력 예시
ProcessMonth(userInput);
}
※ 게임 사용 예시
// 게임 상태
enum GameState
{
MainMenu,
Playing,
Paused,
GameOver
}
// 방향
enum Direction
{
Up,
Down,
Left,
Right
}
// 아이템 등급
enum ItemRarity
{
Common,
Uncommon,
Rare,
Epic
}
'C#' 카테고리의 다른 글
콘솔 글자색 변경 (0) | 2023.11.13 |
---|---|
문자 앞뒤로 특정 문자 입력 (RightPad, LeftPad) (0) | 2023.11.13 |
인터페이스(Interface) (0) | 2023.11.09 |
out, ref 키워드 (0) | 2023.11.08 |
제너릭 (0) | 2023.11.08 |