- 아래 코드는 과거 스위치문을 배울 때, 적었던 코드입니다. 해당 코드는 스위치 문에서 1,2와 같이 숫자로만 적혀있어 가독성이 떨어지는 문제를 가지고 있습니다. 열거형을 활용하여 해당 코드를 더욱 알아보기 쉽게 수정하여주세요.
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("이동 할 장소를 설정해주세요");
Console.WriteLine("1. 마을");
Console.WriteLine("2. 사냥터");
Console.WriteLine("3. 상점");
int toDetermine;
int.TryParse(Console.ReadLine(), out toDetermine);
Console.Clear(); //화면을 지워줍니다
switch (toDetermine)
{
case 1:
Console.WriteLine("마을로 이동합니다");
break;
case 2:
Console.WriteLine("사냥터로 이동합니다");
break;
case 3:
Console.WriteLine("상점으로 이동합니다");
break;
default:
Console.WriteLine("1,2,3 어느것도 아니에요");
break;
}
}
}
코드
enum SelectMap
{
디폴트, 마을, 사냥터, 상점, 센터, 광장
}
static void Task1()
{
Console.WriteLine("이동 할 장소를 설정해주세요");
Console.WriteLine("1. 마을");
Console.WriteLine("2. 사냥터");
Console.WriteLine("3. 상점");
int toDetermine;
int.TryParse(Console.ReadLine(), out toDetermine);
Console.Clear(); //화면을 지워줍니다
switch ((SelectMap)toDetermine)
{
case SelectMap.마을:
Console.WriteLine("마을로 이동합니다");
break;
case SelectMap.사냥터:
Console.WriteLine("사냥터로 이동합니다");
break;
case SelectMap.상점:
Console.WriteLine("상점으로 이동합니다");
break;
default:
Console.WriteLine("1,2,3 어느것도 아니에요");
break;
}
}
음 뭐 별거 없이 이넘형의 자료형을 가져와서 입력받은 int 의 자료형을 임시형변환 사용하니 바로 해결되었다.
음 확실히 처음보는 사람도 바로 이해할거같은 코드이다.
개인적으로 enum문도 자료형이란게 더 와닿은 문제였다.
'프로그래밍 언어 > C#' 카테고리의 다른 글
구조체 활용하기 (0) | 2024.12.09 |
---|---|
상태를 열거형으로 구현 (0) | 2024.12.02 |
피보나치 함수 제작 (0) | 2024.12.02 |
자릿수 합 디코더 제작 (0) | 2024.12.02 |
복합조건을 가진 함수 제작 (0) | 2024.12.02 |