Entwickler-Ecke
C# - Die Sprache - Variable in if-Anweisung initialisieren und verwenden
tripfish - Do 10.07.08 12:17
Titel: Variable in if-Anweisung initialisieren und verwenden
Hallo,
ich stehe ganz am Anfang der C#-Programmierung. Daher ist das sicher eine Anfängerfrage.
Wie kann ich eine Variable die in einer if-Anweisung initialisiert wurde, außerhalb mit dem gleichen Wert weiter verwenden?
Beispiel:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| ... int var1; int var2;
if (Bedingung) { var1 = 12; var2 = 33; }
Console.WriteLine("Ausgabe: {0}, {1}", var1, var2); |
Da der Wert der Variable lokal zugewiesen wurde kann ich ihn außerhalb der if-Anweisung nicht mehr nutzen. Wie kann man sowas realisieren?
Moderiert von
Christian S.: Code- durch C#-Tags ersetztModeriert von
Christian S.: Topic aus Basistechnologien verschoben am Do 10.07.2008 um 12:20
Christian S. - Do 10.07.08 12:21
Hallo und :welcome:!
Natürlich kannst Du den Wert nutzen! Nur wenn eine Variable innerhalb der if-Awneisung deklariert wird, ist sie außer außerhalb nicht nutzbar.
Grüße
Christian
JüTho - Do 10.07.08 12:26
Hallo,
Du hast die Fehlermeldung des Compilers vermutlich falsch verstanden: Durch "int var1" wurde die Variable deklariert; sie ist also innerhalb des gesamten Blocks, zu dem diese Zeile gehört, gültig. Du hast aber den Fehler gemacht, nur in einem Zweig der if-Abfrage einen Wert zuzuweisen; im (nicht benutzten) else-Zweig wird kein Wert zugewiesen. Es gibt deshalb eine Verzweigung (nämlich else), bei der var1 undefiniert bleibt.
Lösung:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| ... int var1 = 0; int var2 = 0;
if (Bedingung) { var1 = 12; var2 = 33; }
Console.WriteLine("Ausgabe: {0}, {1}", var1, var2); |
Merke: Du musst genau auf den Gültigkeitsbereich von Variablen achten: innerhalb eines Blocks "{...}", innerhalb einer Methode, innerhalb einer Klasse.
Gruß Jürgen
PS. Sorry, habe Christians Antwort übersehen, während ich geschrieben habe.
Christian S. - Do 10.07.08 12:29
JüTho hat folgendes geschrieben: |
Sorry, habe Christians Antwort übersehen, während ich geschrieben habe. |
Da wird doch einer nicht etwa kein AJAX aktiviert haben ;-)
Aber in dem Fall war's ja gut, denn an die Meldung wegen der nicht gesetzten Variable habe ich nicht gedacht :-)
tripfish - Do 10.07.08 12:32
Super, vielen Dank für die schnellen Antworten.
Das hat mein Problem gelöst! :)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!