C# kleines Problem

Gary94

Freizeitschrauber(in)
Hallo!
Hab ein kleines, sehr nerviges Problem und ich komm nicht drauf.
Habe diesen Code:
Code:
        private void OnKeyDownHandler(object sender, KeyEventArgs e)
        {
            int z = Convert.ToInt32(nofSubjects.Text);

            if (z > 2)
            {
                if (e.Key == Key.Return)
                {
                    int i = Convert.ToInt32(nofSubjects.Text);
                    subjects = new int[i];
                    nofSubjects.Text = "";
                    MessageBox.Show("Sie haben " + i + " Fächer angelegt");
                }
            }

In der Zeile wo ich den Integer z anlege, stürzt das Programm immer ab und sagt mir "Die Eingabezeichenfolge hat das falsche Format". Aber warum? Ich konvertier es doch?

Hoffe ihr könnt mir helfen
 
Ja, aber vielleicht hat die Eingabe das falsche Format und kann einfach nicht richtig konvertiert werden :D
Wie willst du denn "Mein Haus ist doof" in eine Ganzzahl konvertieren?

Prinzipiell solltest du es eher so machen:
Code:
                    System.Windows.Forms.TextBox textbox = new TextBox(); //eine Box hast du natürlich schon
                    int myINT;
                    bool parseErgebnis = int.TryParse(textbox.Text, out myINT);

                    if (!parseErgebnis)
                    {
                        System.Windows.Forms.MessageBox.Show("Die Eingabe ist ungültig!");
                    }
                    else
                    {
                        //Deine Auswertung von myINT
                    }
Edit: Was erwartest du denn für Text in der Textbox?
 
Zuletzt bearbeitet:
Hm eigentlich hab ich immer nur eine Zahl eingegeben, ich weiß schon, das wenn Buchstaben eingegeben werden, das nicht konvertiert werden kann :D Trotzdem kommt bei einer eingegebenen Zahl diese Fehlermeldung.
Ich werd das ganze eh noch so programmieren dass man nur eine Zahl eingeben kann^^ Aber jetzt nur aus Testzwecken.
Aber vielen Dank ich werd das nochmal probieren^^
 
Sind in dem Textbox-String vielleicht Leerzeichen enthalten? Ich bin mir gerade nicht sicher, ob die Parse-Methode das abkann ...
Darüber hinaus kann es sein, wenn deine TextBox MultiLine aktiviert hat, dass das Parsing dann ebenfalls fehlschlägt!

Bei mir funktioniert das ganze aber fast genauso wie oben beschrieben mit double-Werten (da muss man allerdings mit "." und "," als Trennzeichen aufpassen)
 
Zurück