티스토리 뷰
먼저 Console.ReadLine()
변수를 설정하십시오 . 그런 다음 설정 한 변수가 비어 있거나 null이 아닌지 확인하십시오. 또한 변환 성공 여부에 따라 true 또는 false를 반환하므로 Int16 클래스의 TryParse 메서드를 사용하는 것이 좋습니다.
또한 ReadLine
문자열을 켤 수 있으므로 정수 로 변환 할 필요가 없습니다 . ReadLine
이 이미 이므로 String
변환이 필요하지 않습니다. 그러나 정수가 필요한 경우 다음을 시도하십시오.
String lineIn = Console.ReadLine();
if (!String.IsNullOrEmpty(lineIn))
{
Int16 myNum;
if (Int16.TryParse(lineIn , out myNum))
{
switch(myNum)
{
case 1:
...
default:
...
}
}
}
-------------------Int16.TryParse
방법을 확인하십시오 .
이렇게하면 사용자 입력이 허용되는 범위 Int16
(음수 32768에서 양수 32767) 의 숫자가 아닌 경우 프로그램을 종료하거나 다른 작업을 수행 할 수 있습니다.
샘플 코드는 MSDN 항목 ( Int16.TryParse Method ) 에서 찾을 수 있습니다 .
-------------------나는 당신이 원하는 것이 int.Parse (...)라고 생각합니다.
-------------------오류 처리를 위해 try catch 문을 사용할 수 있습니다 .
-------------------TryParse :
string str;
short val;
while(!short.TryParse(str=Console.ReadLine(), out val))
{
Console.WriteLine("Cant do that >.>");
}
-------------------정수를 얻으려면 일반적으로 다음과 같은 재귀 함수를 사용합니다.
private int GetInt()
{
try
{
return int.parse(Console.Readline().Trim());
}
catch (exception e)
{
Console.WriteLine(string.format("{0} Please try again", e.message);
return GetInt();
}
}
출처
https://stackoverflow.com/questions/1902765
댓글