2016-12-17 49 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