Entwickler-Ecke
Basistechnologien - Leer lassen einer TextBox
Jan85 - Di 27.05.08 19:22
Titel: Leer lassen einer TextBox
Ich habe ein kleines "Programm" geschrieben das drei Zahlen, die einzugeben sind, addiert. (Bin noch anfänger)
Das war auch kein Problem. Wie jedoch geht es, dass ich auch nur zwei Zahlen eingeben kann und er diese dann addiert. (wenn ich jetzt nur zwei Zahlen eingebe kommt eine Fehlermeldung)
Hier mein Quellcode:
C#-Quelltext
1: 2: 3: 4: 5:
| int Zahl1=int.Parse(textBox1.Text); int Zahl2=int.Parse(textBox2.Text); int Zahl3=int.Parse(textBox3.Text); int Ergebnis=(Zahl1+Zahl2+Zahl3); label1.Text=Ergebnis.ToString(); |
Moderiert von
Christian S.: C#-Tags hinzugefügt
JüTho - Di 27.05.08 19:41
Solche Prüfungen sind oft nötig, das geht in der Regel so:
C#-Quelltext
1: 2: 3:
| int zahl3 = 0; if (!String.IsNullOrEmpty(textBox3.Text)) Zahl3=int.Parse(textBox3.Text); |
Das geht auch noch in einer Zeile:
C#-Quelltext
1: 2:
| int Zahl3 = String.IsNullOrEmpty(textBox3.Text) ? 0 : int.Parse(textBox3.Text); |
Jürgen
Jan85 - Di 27.05.08 20:10
Vielen Dank für die schnelle Hilfe, jedoch klappt es bei mir immer noch nicht.
Fehlermeldung: string does not contain a definition for IsNullOrEmpty
Was habe ich falsch gemacht:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| int Zahl1=int.Parse(textBox1.Text); int Zahl2=int.Parse(textBox2.Text); int Zahl3=0; if ( !string.IsNullOrEmpty(textBox3.Text)) Zahl3=int.Parse(textBox3.Text); int Ergebnis=(Zahl1+Zahl2+Zahl3); label1.Text=Ergebnis.ToString(); |
Moderiert von
Christian S.: Cs-Tag repariert
Th69 - Mi 28.05.08 09:50
Wenn du noch nicht .NET 2 (oder höher) benutzt, dann mußt du selber so eine Methode schreiben:
C#-Quelltext
1: 2: 3: 4:
| public static bool IsNullOrEmpty(string s) { return s == null || s.Length == 0; } |
Besser wäre jedoch die Prüfung auf Ausnahmen (z.B. falls ein Buchstabe drin steht).
Ab .NET 2 gibt es dann auch die Methode TryParse, welche man einfach nachbauen kann (zumindestens als freie Methode).
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| public static int TryParse(string s) { try { return int.Parse(s); } catch(Exception) { return 0; } } |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 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!