Frage von DesbaTop, 51

Rechnung in C#?

Guten Tag,

ich bin auf dem Gebiet C# noch neu (generell im Programmieren) und habe eine Frage.

Ich habe eine einfache if-Anweisung gemacht. Die sieht verkürzt folgendermaßen aus:

string Antwort1;

double Antwort1_1;

if (Antwort1 == "Gold")

{

Antwort1_1 = 5

}

else if (Antwort1 == "Silber")

{

Antwort 1_1 = 2

}

Der Benutzer wird vorher nach der Farbe gefragt

Wenn ich nun eine Rechnung machen möchte z.B.

Antwort1_1 + Antwort1 _2

kommt bei Antwort1_1 in der Rechnung folgende Fehlermeldung: Verwendung der nicht zugewiesenen lokalen Variable Antwort1_1

Aber die Variable ist in der if-Bedingung doch klar zugewiesen worden. Kann mir einer helfen wo hier das Problem liegt?

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von chokdee, 38

Sie ist aber nur in "else if Silber" zugewiesen.

Läuft dein Code durch den ersten Zweig ist die Variable nicht initialisiert.

Besser du schreibst also
Antwort1_1 = 0.
beim Initialisieren oben.

Kommentar von DesbaTop ,

Wird die jeweilige Zahl dann trotzdem noch zugewiesen? Je nachdem wie die Antwort auf die Farbe ausfällt?

Kommentar von chokdee ,

Ja, der Wert wird dann überschrieben

Kommentar von DesbaTop ,

Perfekt, vielen Dank!

Kommentar von chokdee ,

19,99 €

Antwort
von vagabond3, 20

du hast Antwort1_2 oben nicht deklariert und frast in deiner if/else abfrage auch nur Antwort1_1 und nicht Antwort1_2 ab.

Keine passende Antwort gefunden?

Fragen Sie die Community