카테고리 없음

올바른 입력값 받는 방법(TryParse사용)

이더23 2024. 9. 23. 15:14

문제

입력값을 정수만 받고 싶을때

시도

int num = Console.Read();

if ( num > 48 && num < 52) 
{
    Console.WriteLine("잘했어");
}
else
{
    Console.WriteLine("잘못된 입력입니다");
}

아스키코드를 이용해서 문제를 해결할려고 했다.

해결

아스키코드를 이용해서 문제를 해결할 수도 있지만, 입력값이 숫자인지 여부를 보다 명확하게 확인하고, 에러를 방지할 수 있는 TryParse() 방식이 더 안전하고 가독성이 좋습니다.

사용 코드

class Village
{
    static private string inputNum;
    static private int num;
    static bool success;
    static public void VillageMenu()
    {

    inputNum = Console.ReadLine();
    success = int.TryParse(inputNum, out num);
    if (success && num>0 && num < 4)
    {
        Console.WriteLine("올바른 입력입니다.");
    }
    else
    {
        Console.WriteLine("잘못된 입력입니다");
    }
}

 

알게된점

TryParse 사용방법을 더 자세히 알게 된거 같다.

bool값을 많이 이용한다는 것을 알게됐다.

 

링크 참조 : Int32.TryParse 메서드 (System) | Microsoft Learn