DiscoDieter (03.01.2014), DotNet (05.12.2015)
-
30.12.2013, 22:57 #1
- Registriert seit
- 01.12.2011
- Beiträge
- 135
Thanked 75 Times in 53 PostsC# Fragen: Variable außerhalb von If nicht verfügbar
Hallo Leute,
ich habe drei Variablen gegeben und möchte eine vierte innerhalb einer If-Bedingung erzeugen. Diese dritte Variable ist aber außerhalb der IF-Bedingung nicht verfügbar. Was mache ich falsch?
Verzeiht bitte, ich bin in der Programmierung noch nicht so fortgeschritten..
int zahl1 = 1;
int zahl2 = 2;
int zahl3 = 3;
if(zahl3<4)
{
int zahl4 = zahl2 - zahl1;
}
Console.WriteLine(zahl4);
Visual Basic sagt: der Name zahl4 ist im aktuellen Kontext nicht vorhanden...
Lieben GrußGeändert von Gast78236 (30.12.2013 um 22:58 Uhr)
-
30.12.2013, 23:00 #2
AW: C# Fragen: Variable außerhalb von If nicht verfügbar
Hey,
blöd gesagt: diese Variable wird temporär IN der Schleife verwendet. Du musst die Variable vorher instanzieren (int zahl4 = 0 beispielsweise), dann kannst du auch zugreifen.
-
30.12.2013, 23:03 #3
AW: C# Fragen: Variable außerhalb von If nicht verfügbar
die { und } sind BLÖCKE, alle vars innerhalb dieser Blöcke sind nicht ausserhalb dieser Blöcke zugreifbar.
Java:
Spoiler:
Lustige Quotes:
Spoiler:
-
31.12.2013, 00:42 #4
- Registriert seit
- 15.11.2011
- Beiträge
- 6.262
- Blog Entries
- 5
Thanked 9.145 Times in 3.019 PostsAW: C# Fragen: Variable außerhalb von If nicht verfügbar
Der Fehler tritt eigentlich nur auf, weil deine Logik hinter dem Code falsch ist. Du willst wahrscheinlich die Variable zahl4 ausgeben, wenn deine Bedingung zahl3 < 4 zutrifft. Dafür muss die Konsolenausgabe ebenfalls in der if-Abfrage stattfinden:
if(zahl3 < 4)
{
int zahl4 = zahl2 - zahl1;
Console.WriteLine(zahl4);
}
Bei deinem Code würde die Variable zahl4 IMMER ausgegeben werden. Definiert wird zahl4 aber nur, wenn zahl3 < 4 ist. Trifft diese Bedingung nicht zu, ist zahl4 nicht definiert. Was du machen könntest wäre, zahl4 auch unabhängig von dieser Bedingung zu definieren:
int zahl4 = 0;
if(zahl3 < 4)
{
zahl4 = zahl2 - zahl1;
}
Console.WriteLine(zahl4);
Trifft die Bedingung nicht zu, würde dann 0 ausgegeben werden. Je nachdem ob du nur dann wenn die Bedingung Zutrifft eine Ausgabe haben möchtest oder immer macht das ggf. keinen Sinn.
Welche Schleife? Ich sehe keine, nur eine Abfrage
-
The Following 2 Users Say Thank You to DMW007 For This Useful Post:
-
31.12.2013, 00:45 #5
AW: C# Fragen: Variable außerhalb von If nicht verfügbar
Ja, ich hab "if-Schleife" von meinem perfekten Infolehrer abgeschaut. Ja, tut mir Leid. Es ist natürlich eine Abfrage und keine Schleife!
-
The Following User Says Thank You to Bubble For This Useful Post:
DMW007 (31.12.2013)
-
31.12.2013, 15:01 #6
- Registriert seit
- 28.01.2013
- Beiträge
- 26
Thanked 1 Time in 1 PostAW: C# Fragen: Variable außerhalb von If nicht verfügbar
Wie schon oben gesagt, deklarierst du die Variable nur, wenn die Bedingung erfüllt ist. Wenn nicht, gibt es die Variable sozusagen nicht. Entweder du musst die Variable vorher einfach nur deklarieren, oder nur ausgeben, wenn die Bedingung erfüllt wird.
Oder du kannst noch ein else hinzufügen, in der du die gleiche Variable deklarierst. Dann können die meisten Compiler das auch umsetzen
Ähnliche Themen
-
Film N24 Doku Rätsel aus Stahl und Stein nicht mehr verfügbar?
Von ThunderStorm im Forum Filme, Serien und TVAntworten: 2Letzter Beitrag: 03.06.2013, 22:54 -
[Frage]Bildausgabe mit Variable als Bildname (Php/Html)
Von Marvin im Forum PHPAntworten: 2Letzter Beitrag: 19.03.2013, 19:35 -
W-LAN Funktion deaktiviert/nicht verfügbar
Von !lkay im Forum HardwareAntworten: 2Letzter Beitrag: 28.12.2012, 19:01 -
D3 Derzeit Nich Auf Lager Statt Nicht Verfügbar
Von GXC1 im Forum IT & Technik NewsAntworten: 4Letzter Beitrag: 05.03.2012, 23:41 -
Grooveshark aus Deutschland nicht mehr verfügbar
Von Eliteterror im Forum Internet und TechnikAntworten: 2Letzter Beitrag: 19.01.2012, 21:21
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.