0
Ich bitte Benutzer, ein int für ihr Alter einzugeben, aber das Programm stürzt ab, wenn sie eine Zeichenfolge eingeben (offensichtlich).C# stop Benutzer Eingabe eines Zeichens/String anstelle von Integer
Wie würde ich gehen, ihnen zu erlauben, ein Zeichen/eine Zeichenkette aber das Programm einzugeben, um eine lustige Mitteilung anzuzeigen und dann zu beenden ?.
Das ist, was ich bisher bekommen haben:
Console.WriteLine("Please can you enter your age");
int userage = Convert.ToInt32(Console.ReadLine());
if (userage < 16)
{
var underage = new underage();
underage.text();
}
else if (userage>122)
{
Console.WriteLine("No one has ever reached this age and so you can't possibly be this old");
Console.WriteLine("Please enter a different age next time!");
Console.WriteLine("Unless you really are this old, in which case don't work!!");
Console.WriteLine("Press any key to exit the program.\n");
Environment.Exit(0);
}
else if(userage<122)
{
Console.WriteLine("Ah brilliant, you are old enough to use our services\n");
Console.WriteLine("We shall continue as first planned\n");
}
else
{
}
Verwenden [ 'int.TryParse'] (https://msdn.microsoft.com/en-us /library/f02979c7(v=vs.110).aspx) –
Wo in diesem Code würde ich int.TryParse hinzufügen? –
Am Anfang, nachdem Sie die Benutzereingabe gelesen haben. Speichern Sie die 'Console.ReadLine' in einer String-Variablen und verwenden Sie diese als Argument für' int.TryParse'. 'Int.TryParse' gibt ein' bool' zurück. Wenn es wahr ist, hat die int-Variable den gültigen Wert, wenn sie falsch ist, wissen Sie, dass die Benutzereingabe keine gültige Ganzzahl war. –