Hallo!
Ich habe folgendes Problem:
Mein Programm funktioniert, wenn ich im 1. Durchlauf eine Zahl eingebe.
Wenn ich jedoch erst ein ungültiges Zeichen eingebe und danach eine Zahl, erhält meine While-Schleife dennoch kein return 0.
Wie ich gerade festgestellt habe, wird mit while (eanEingabe() == 1) bereits meine Methode aufgerufen. Wie kann ich in der While-Schleife nur auf den Return-Wert prüfen, ohne die damit Methode abzurufen?
Grüße!
Ich habe folgendes Problem:
Mein Programm funktioniert, wenn ich im 1. Durchlauf eine Zahl eingebe.
Wenn ich jedoch erst ein ungültiges Zeichen eingebe und danach eine Zahl, erhält meine While-Schleife dennoch kein return 0.
Wie ich gerade festgestellt habe, wird mit while (eanEingabe() == 1) bereits meine Methode aufgerufen. Wie kann ich in der While-Schleife nur auf den Return-Wert prüfen, ohne die damit Methode abzurufen?
Grüße!
Code:
class Program
{
static int ean;
public static int eanEingabe()
{
try
{
ean = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(ean);
return 0;
}
catch (Exception formatError)
{
Console.WriteLine((formatError.Message));
Console.Write("Bitte EAN erneut eingeben: ");
return 1;
}
}
static void Main(string[] args)
{
Console.Write("Bitte EAN eingeben: ");
while (eanEingabe() == 1)
{
eanEingabe();
}
}
}