2016-04-13 172 views
-1

這是我簡單的C#控制檯應用程序在這我會得到輸入從用戶我有郵政編碼變量,其中我想輸入整數,但是當我輸入整數它顯示錯誤。另一個方面是console.readline將int和string都作爲輸入嗎?控制檯應用程序的輸入和輸出

namespace ConsoleApplication1 
{ 
    class Program 
    { 

    static void Main(string[] args) 
    { 
     string firstname; 
     string lastname; 
     string birthdate; 
     string addressline1; 
     string adressline2; 
     string city; 
     string stateorprovince; 
     int ziporpostalcode; 
     string country;   
     ziporpostalcode =int.Parse(Console.ReadLine());   
    } 
} 
} 
+1

只是一個友情提示,您可能需要閱讀過此頁:[該如何對詢問指南(https://stackoverflow.com/help/how-to-ask)等等您始終可以確定您的問題很容易回答並儘可能清晰。一定要包括你爲解決你遇到的問題所做的任何努力,以及當你嘗試修復這些問題時發生了什麼。另外不要忘記你的顯示代碼和任何錯誤信息! –

+1

如果他們只知道我們知道的問題是「***顯示錯誤***」,我們無法幫助您修復錯誤。那是什麼意思? –

回答

2

你應該使用int.TryParse而不是爲int.Parse,這是 負責數字的字符串表示形式轉換爲其 32位有符號整數等效。返回值表示 操作是否成功,否則返回false(轉換失敗)

所以,你的代碼可能看起來像這樣:

int ziporpostalcode; 
if (int.TryParse(Console.ReadLine(), out ziporpostalcode)) 
{ 
    Console.WriteLine("Thank you for entering Correct ZipCode"); 
    // now ziporpostalcode will contains the required value 
    // Proceed with the value 
} 
else { 
    Console.WriteLine("invalid zipCode"); 
} 
Console.ReadKey(); 
0

建議的方式。

使用int.TryParse驗證您的輸入爲int

var input =int.Parse(Console.ReadLine());  
if(int.TryParse(input, out ziporpostalcode) 
{ 
    // you have int zipcode here 
} 
else 
{ 
    // show error. 
} 
+0

語法錯誤,你錯過'out' –

+0

啊......是的,謝謝你@幸運的。現在修好。 –

0
 Console.WriteLine("Enter Zip Code"); 
     try 
     { 
      ziporpostalcode = int.Parse(Console.ReadLine()); 
      Console.WriteLine("You Enter {0}", ziporpostalcode); 
     } 
     catch (Exception) { 
      Console.WriteLine("Error Occured, Enter only Number"); 
     } 

     Console.ReadLine(); 
+0

如何讓它很容易不使用其他條件或豁免 –

相關問題