C#: Wo ist der Fehler bei meinem Skript?
Hallo Community!
Ich habe mit Visual Studio (Programmiersprache C#) eine Ja-/Nein-Frage erstellt.
Nun wird aber in beiden Fällen (Ja/Nein) "Okay fahre fort" angezeigt.
Hier mein Skript:
string antwort = "";
string antwort2 = "Ja";
string antwort3 = "Nein";
Console.ReadLine();
if (antwort.Equals(antwort2))
Console.WriteLine("Okay fahre fort!");
else if (antwort.Equals(antwort3))
Console.WriteLine("Dann beende bitte das Programm, indem du irgendeine Taste drückst und das Formular neu ausfüllst:)");
Console.ReadKey();
System.Environment.Exit(0);
Falls logische Fehler entstanden sind, bitte ich um Entschuldigung.
Ich bin gerade mal 14 Jahre und habe seit paar Wochen begonnen zu programmieren.
Danke schon im Voraus!
2 Antworten
Du liest mit ReadLine zwar eine Zeile aus dem Eingabekanal der Konsole aus, aber du speicherst den eingelesenen Wert nicht in deiner Variable antwort. Deren Wert bleibt also ein leerer String, den du jeweils mit "Ja" und "Nein" vergleichst.
Dein Programm liefert demzufolge keine Ausgabe. Das von dir beschriebene Verhalten ist nur möglich, wenn du einen anderen Code als in der Fragestellung verwendest.
Speichere also den Rückgabewert von ReadLine in antwort, damit dein Programm auf die Konsoleneingaben reagiert.
antwort = Console.ReadLine();
Du kannst dir sogar eine Zeile sparen, indem du die Definition der Variable mit der Deklaration zusammenziehst.
string antwort = Console.ReadLine();
Schließe unbedingt alles was zum if oder else if Fall gehört mit geschweiften Klammern ein.
if (Bedingung)
{
}
else if(Bedingung)
{
}