2016-12-17 53 views
-2

我试图解决这个代码,所以它重复异常,直到输入是一个数字。现在它停止正确的第一次尝试,我知道如何放置while循环。数值输入异常

int nomer2; 
      WriteLine("Write Number"); 


      try 
      { 
       nomer2 = Convert.ToInt32(ReadLine()); 
       WriteLine("here is my Number {0}", nomer2); 

      } 

      catch (Exception) 
      { 
       WriteLine("Error: Enter Number"); 
      } 
+2

通过在stackoverflow上提出问题,您无法一次学习一个语言关键字。我会建议参加编程课程,或者打开一本书,或者搜索“C#sample”+感兴趣的关键字。 –

回答

-2
while(!int.TryParse(ReadLine(), out nomer2)) 
{ 
    WriteLine("Write Number"); 
} 

    WriteLine("here is my Number {0}", nomer2); 
1

其建议不使用例外,除非它真的是出乎意料的结果会是什么。您可以使用TryParse函数尝试将传递给它的字符串转换为整数。如果转换成功,则在第二个参数中通过引用返回整数,并且函数返回true,否则返回false。

int nomer2; 
string input = string.Empty; 

do 
{ 
    Console.WriteLine("Write Number"); 
    input = Console.ReadLine(); 
} 
while (!int.TryParse(input, out nomer2)) ; 

Console.WriteLine("here is my Number {0}", nomer2); 
+1

当然,你去了。 –

+0

好多了,谢谢。 – CodeCaster