1. #1

    Registriert seit
    01.12.2011
    Beiträge
    135
    Thanked 75 Times in 53 Posts

    Pfeil C# 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)

  2. #2
    Avatar von Bubble
    Registriert seit
    20.11.2011
    Beiträge
    703
    Thanked 510 Times in 327 Posts

    Standard 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.

  3. #3
    Avatar von Sky.NET
    Registriert seit
    26.11.2011
    Beiträge
    2.462
    Thanked 2.717 Times in 1.286 Posts
    Blog Entries
    7

    Standard 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:
    Zitat Zitat von Hydra Beitrag anzeigen
    Hier (in Deutschland) kann man keine andere tolle Aktivitäten machen, als zu chillen, shoppen, saufen und Partys feiern xD Ich habe nichts gegen ab und zu mal saufen und Partys feiern, aber das ist doch nicht wirklich das wahre Leben o_o
    Wieso das Internet für die meisten Leute gefährlich ist:
    Zitat Zitat von Silent Beitrag anzeigen
    Ich weiß ja nicht was der Sinn dahinter steckt es heißt immer "security reasons".

  4. #4
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    6.080
    Thanked 9.118 Times in 2.995 Posts
    Blog Entries
    5

    Standard AW: 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.

    Zitat Zitat von Bubble Beitrag anzeigen
    blöd gesagt: diese Variable wird temporär IN der Schleife verwendet.
    Welche Schleife? Ich sehe keine, nur eine Abfrage


  5. The Following 2 Users Say Thank You to DMW007 For This Useful Post:

    DiscoDieter (03.01.2014), DotNet (05.12.2015)

  6. #5
    Avatar von Bubble
    Registriert seit
    20.11.2011
    Beiträge
    703
    Thanked 510 Times in 327 Posts

    Standard 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!

  7. The Following User Says Thank You to Bubble For This Useful Post:

    DMW007 (31.12.2013)

  8. #6

    Registriert seit
    28.01.2013
    Beiträge
    26
    Thanked 1 Time in 1 Post

    Standard AW: 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

  1. Film N24 Doku Rätsel aus Stahl und Stein nicht mehr verfügbar?
    Von ThunderStorm im Forum Filme, Serien und TV
    Antworten: 2
    Letzter Beitrag: 03.06.2013, 22:54
  2. Antworten: 2
    Letzter Beitrag: 19.03.2013, 19:35
  3. W-LAN Funktion deaktiviert/nicht verfügbar
    Von !lkay im Forum Hardware
    Antworten: 2
    Letzter Beitrag: 28.12.2012, 19:01
  4. D3 Derzeit Nich Auf Lager Statt Nicht Verfügbar
    Von GXC1 im Forum IT & Technik News
    Antworten: 4
    Letzter Beitrag: 05.03.2012, 23:41
  5. Grooveshark aus Deutschland nicht mehr verfügbar
    Von Eliteterror im Forum Internet und Technik
    Antworten: 2
    Letzter Beitrag: 19.01.2012, 21:21
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.