Autor Beitrag
Raven280438
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 99



BeitragVerfasst: So 26.09.10 20:14 
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
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 561
Erhaltene Danke: 137



BeitragVerfasst: So 26.09.10 20:47 
Hallo,

user profile iconRaven280438 hat folgendes geschrieben Zum zitierten Posting springen:

ausblenden 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.
ausblenden 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