Entwickler-Ecke

Basistechnologien - [C#] Prüfen, ob Eingabe Integer ist.


Raven280438 - So 26.09.10 20:14
Titel: [C#] Prüfen, ob Eingabe Integer ist.
Hi,

ich habe einen String aus einer Textbox.
Jetzt möchte ich prüfen, ob der String ein Integer zwischen 10 und 1000 ist.
Wie bekomm ich das hin?

Mit

C#-Quelltext
1:
Convert.ToInt16(string) < 10                    

bekomm ich einen Laufzeitfehler.


Gruß


Moderiert von user profile iconKha: Topic aus C# - Die Sprache verschoben am So 26.09.2010 um 22:07


Trashkid2000 - So 26.09.10 20:47

Hallo,

user profile iconRaven280438 hat folgendes geschrieben Zum zitierten Posting springen:


C#-Quelltext
1:
Convert.ToInt16(string) < 10                    

bekomm ich einen Laufzeitfehler.

also, die Methode Convert.ToInt16() erwartet als Parameter einen sting, der in einen int-Wert umgewandelt werden soll.

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
int result = Convert.ToInt16(textBox1.Text);
//Prüfung, ob Wert im Wertebereich liegt
if (result >= 10 && result <= 1000)
{
  //Wert im Wertebereich
}
else
{
  //Wert nicht im Wertebereich
}

Geht das schief, so gibt es eine FormatException. Diese Exception müsstest Du abfangen.

Deshalb ist es sinnvoller, die Methode int.TryParse() zu benutzen, die versucht, einen Wert zu konvertieren, und einen bool zurückgibt, ob die Umwandlung geklappt hat. Dort wäre keine Exception-Behandlung nötig.

LG, Marko