2016-04-13 19 views
-1

Dies ist meine einfache C# -Konsolen-App in diesem ich werde Eingabe von Benutzer Ich habe Postleitzahl Variable, in der ich als Ganzzahl Eingabe nehmen möchte, aber wenn ich Ganzzahl eingeben, zeigt es Fehler. ein weiterer Ansatz ist, dass console.readline sowohl Int als auch String als Eingabe oder nicht?Konsole App Eingabe und Ausgabe

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

Gerade eine freundliche Spitze, können Sie diese Seite lesen über wollen: [The How-To-Frage Guide] (https://stackoverflow.com/help/how-to-ask) so Sie können immer sicher sein, dass Ihre Fragen leicht zu beantworten und so klar wie möglich sind. Stellen Sie sicher, dass Sie alle Anstrengungen unternommen haben, die Sie unternommen haben, um das Problem zu beheben, das Sie haben, und was passiert ist, als Sie diese Korrekturen versuchten. Vergessen Sie auch nicht Ihren Showcode und eventuelle Fehlermeldungen! –

+1

Wir können Ihnen nicht helfen, einen Fehler zu beheben, wenn sie nur wissen, dass das Problem "*** es zeigt Fehler ***" ist. Was bedeutet das? –

Antwort

2

sollten Sie int.TryParse verwenden Sie stattdessen für int.Parse, die verantwortlich ist, die Zeichenfolgendarstellung einer Zahl in ihre 32-Bit-Ganzzahl mit Vorzeichen entspricht Wandelt. Ein Rückgabewert zeigt an, ob die Operation erfolgreich war , sonst false zurück (Konvertierung fehlgeschlagen)

So kann Ihr Code wie folgt aussieht:

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

vorgeschlagene Art und Weise.

Verwenden Sie int.TryParse, um Ihre Eingabe auf int zu validieren.

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

Syntaxfehler, Sie verpassen 'out' –

+0

Ahh ... ja, Danke @ un-Glück. jetzt behoben. –

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

wie man es leicht macht, wenn man keine if else condtion oder exeption benutzt –