2015-04-15 46 views
0

我目前使用的方法。當一個字符串在推吞下的調試,它給了我這個錯誤切換在我的控制檯菜單返回一個Convert.ToInt32(Console.ReadLine());出現FormatException在Convert.ToInt32

An unhandled exception of type 'System.FormatException' occurred in mscorlib.dll

我試圖在MSDN上研究這個錯誤,但不能解決如何添加格式。有人可能請給我一個簡單的修復鏈接?謝謝。

+0

什麼是控制檯的'輸入.ReadLine()'和你的'CurrentCulture'是什麼?就像我看到的,看起來你的'Convert.ToInt32'方法會拋出這個異常。 –

+0

任何字符串,例如sdasds會返回這個錯誤。 –

+3

_所有字符串?那麼,你覺得你如何將'sdasds'字符串解析爲整數? –

回答

3

您需要確保您的用戶輸入是一個整數,您可以使用Int32.TryParse()。顯然你不能將sdasds轉換爲int。

檢查,這是一個int,如果不是的話,保持提示用戶:

int choice = 0; 
while (!Int32.TryParse(Console.ReadLine(), out choice)) 
{ 
    Console.WriteLine("Invalid input, please enter a valid integer"); 
} 

然後在你的switch塊使用choice

switch (choice) 
{ 
    case 1: 
     addcourse(); 
    break; 
// etc... 
+0

這工作!非常感謝! + –

+1

高興地幫助 - 如果這回答你的問題,然後免費標記爲[接受的答案](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)。 – DGibbs

相關問題