Entwickler-Ecke

C# - Die Sprache - NULL bei Konvertierung abfangen


kevinkeegan - Fr 21.12.07 11:26
Titel: NULL bei Konvertierung abfangen
Eine kleine Frage noch kurz vor Weihnachten :)

Ich muss eine Reihe von TextBoxes auf Gültigkeit überprüfen, d.h.
sie müssen erstens alle gefüllt sein (mit Zahlen) und zweitens
hat jede TextBox einen eigenen Gültigkeitsbereich (z.B. 0 bis 40).
Manche haben einen Gültigkeitsbereich, dessen Grenze durch einen
Wert in einer anderen TextBox definiert ist. Nun möchte ich, weil ich
faul bin, alle TextBoxes nach dem gleichen Prinzip (if-Anweisung) auf
Gültigkeit überprüfen. Ungefähr so:


C#-Quelltext
1:
2:
3:
4:
5:
if ((Convert.ToDouble(TextBoxA.Text) < 0) ||
    (Convert.ToDouble(TextBoxA.Text) > Convert.ToDouble(TextBoxB.Text))
{
     ...
}

Wenn nun TextBoxB (noch) keinen Wert hat, bekomme ich eine Exception.
Ich suche eine Möglichkeit / Methode, einen NULL-Wert mit einem definierten
Wert zu interpretieren. Bei Oracle SQL lautet der "nvl".

SQL-Anweisung
1:
2:
3:
4:
5:
6:
7:
SQL> select nvl(NULL,0from dual;

NVL(NULL,0)
-----------
          0

1 row selected.


Fröhliche Feiertage allen Forummitglieder


JüTho - Fr 21.12.07 11:31

Hallo,

besser als die Methoden der Convert-Klasse sind meistens die TryParse-Methoden:

C#-Quelltext
1:
2:
3:
double value;
if (! Double.TryParse(TextBoxA.Text, out value))
  value = defaultValue;

Erläuterungen siehe SDK-Doku. Jürgen

PS. Bitte Code markieren: Editiere Deinen ersten Beitrag (auf den Button mit der Schere gehen), markiere den Textbereich und klicke auf "Bereiche" und das Plus bei C#.


kevinkeegan - Fr 21.12.07 11:54

Danke für die schnelle Antwort. Sieht auf den ersten Blick "brauchbar" aus, werde es später ausprobieren. Schade nur, dass man dafür eine weitere Variable benötigt...

MfG