none
Rätselhafte Exception RRS feed

  • Frage

  • VS2013, C#

    Im Folgenden zwei Codefragmente, die erste Version funktioniert, bei der zweiten Version wird in der if ... else Struktur eine Exception ausgelöst, Konkret bei: if (0 == KonstantenFeld.Length) Ich verstehe nicht, was an dieser Anweisung falsch sein soll. Wer kann das Rätsel aufklären?

    private string KonstantenFeld;
    string esatz;
    int fehler;

    //...

    //Erste Version:

    MessageBox.Show("KonstantenFeld = >" + KonstantenFeld + "< esatz = >" + esatz + "< Fehler = " + Convert.ToString(fehler), "Punkt 37", MessageBoxButtons.OK, MessageBoxIcon.Stop); //Test
    if (KonstantenFeld == "")
    {
        KonstantenFeld = esatz;
    }
    else
    {
        KonstantenFeld += "\n" + esatz;                                    
    }
    MessageBox.Show("KonstantenFeld = >" + KonstantenFeld + "< Fehler = " + Convert.ToString(fehler), "Punkt 38", MessageBoxButtons.OK, MessageBoxIcon.Stop); //Test

    //...

    //Zweite Version:

    MessageBox.Show("KonstantenFeld = >" + KonstantenFeld + "< esatz = >" + esatz + "< Fehler = " + Convert.ToString(fehler), "Punkt 37", MessageBoxButtons.OK, MessageBoxIcon.Stop); //Test
    if (0 == KonstantenFeld.Length)
    {
        KonstantenFeld = esatz;
    }
    else
    {
        KonstantenFeld += "\n" + esatz;                                    
    }
    MessageBox.Show("KonstantenFeld = >" + KonstantenFeld + "< Fehler = " + Convert.ToString(fehler), "Punkt 38", MessageBoxButtons.OK, MessageBoxIcon.Stop); //Test

    isidor2706


    Dienstag, 6. Juni 2017 14:56

Antworten

  • Hallo,
    für mich ist dein code nicht compilierbar.

    Meine Compiler(Fehler)meldung:
    Schweregrad Code Beschreibung Projekt Datei Zeile Unterdrückungszustand
    Fehler CS0165 Verwendung der nicht zugewiesenen lokalen Variablen "esatz".

    Bitte Initialisiere deine Variablen.
    Etwa so:
    private string KonstantenFeld="";
    string esatz="";
    int fehler=0;

    HTH

    Grüße Alexander

    • Als Antwort markiert isidor2706 Dienstag, 6. Juni 2017 15:49
    Dienstag, 6. Juni 2017 15:33

Alle Antworten

  • Hallo,
    für mich ist dein code nicht compilierbar.

    Meine Compiler(Fehler)meldung:
    Schweregrad Code Beschreibung Projekt Datei Zeile Unterdrückungszustand
    Fehler CS0165 Verwendung der nicht zugewiesenen lokalen Variablen "esatz".

    Bitte Initialisiere deine Variablen.
    Etwa so:
    private string KonstantenFeld="";
    string esatz="";
    int fehler=0;

    HTH

    Grüße Alexander

    • Als Antwort markiert isidor2706 Dienstag, 6. Juni 2017 15:49
    Dienstag, 6. Juni 2017 15:33
  • Es lag tatsächlich an der fehlenden Initialisierung der Variablen. Kleine Ursache, große Wirkung. Vielen Dank!

    isidor2706

    Dienstag, 6. Juni 2017 15:54