Unity 개발일지

[C#] 무한루프를 이용해 잘못된 입력을 받았을 때 메세지 띄우기 본문

C#

[C#] 무한루프를 이용해 잘못된 입력을 받았을 때 메세지 띄우기

아머르 2024. 4. 25. 20:02

오늘은 스파르타 2주차 TextRpg를 구현 중 알게된 코드에 대해 리뷰하고자 한다.

위와 같은 상황에서 키를 입력받을 때 잘못된 입력을 받았을 때

"잘못된 입력입니다." 에서 끝나지 않고 제대로 된 입력값이 나올때 까지 재입력을 받는 코드를 구현해보자.

 

먼저 위의 콘솔창을 띄우는 코드를 다음과 같이 입력한다.

 

그리고 입력을 받기 위해 int input을 선언하고, 유효한 입력을 했는지 확인하기 위한 함수를 선언한다.

 

이제 선언된 함수를 작성해보자.

Console.ReadLine()으로 input을 받은 뒤

int.TryParse(String, Int32) 메서드로 지역변수 ret 을 받는다.(외부에서 선언하지 않고 함수 내부에서 생성이되었음)

성공적으로 변환되면 true, 실패하면 false를 반환한다.

 

성공적으로 변환되었으면 if문이 실행되어 ret값이 mix과 max의 사이값이면 입력한 값을 실행 후 while문을 벗어날 것이고

변횐에 실패되면 잘못된 입력이라고 출력되고 while문을 벗어나지 못하므로 제대로 된 값을 입력할 때까지 무한루프 한다.

 

[추가]

이런 식으로 작성해도 된다.

 

 

 

 

Int32.TryParse 메서드 (System)

숫자의 문자열 표현을 해당하는 32비트 부호 있는 정수로 변환합니다. 반환 값은 작업의 성공 여부를 나타냅니다.

learn.microsoft.com

반응형