Gewusst wie: Bestimmen, ob eine Zeichenfolge einen numerischen Wert darstellt (C#-Programmierhandbuch)How to: Determine Whether a String Represents a Numeric Value (C# Programming Guide)

Verwenden Sie die statische TryParse-Methode, die von allen primitiven numerischen Typen sowie von Typen wie z.B. DateTime und IPAddress implementiert wird, um zu bestimmen, ob eine Zeichenfolge eine gültige Darstellung eines angegebenen numerischen Typs ist.To determine whether a string is a valid representation of a specified numeric type, use the static TryParse method that is implemented by all primitive numeric types and also by types such as DateTime and IPAddress. In folgendem Beispiel wird gezeigt, wie Sie bestimmen können, ob „108“ eine zulässige ganze Zahl ist.The following example shows how to determine whether "108" is a valid int.

int i = 0;   
string s = "108";  
bool result = int.TryParse(s, out i); //i now = 108  

Wenn die Zeichenfolge nicht numerische Zeichen enthält oder der numerische Wert für den Typ, den Sie angegeben haben, zu groß oder zu klein ist, gibt TryParse „FALSE“ zurück und legt den Parameter auf 0 (null) fest.If the string contains nonnumeric characters or the numeric value is too large or too small for the particular type you have specified, TryParse returns false and sets the out parameter to zero. Andernfalls wird „TRUE“ zurückgegeben und der Parameter auf den numerischen Wert der Zeichenfolge festgelegt.Otherwise, it returns true and sets the out parameter to the numeric value of the string.

Hinweis

Eine Zeichenfolge kann auch nur numerische Zeichen enthalten und trotzdem für den Typ unzulässig sein, dessen TryParse-Methode Sie verwenden.A string may contain only numeric characters and still not be valid for the type whose TryParse method that you use. Beispielsweise ist „256“ kein zulässiger Wert für byte, aber zulässig für int.For example, "256" is not a valid value for byte but it is valid for int. „98,6“ ist kein zulässiger Wert für int, aber zulässig für decimal."98.6" is not a valid value for int but it is a valid decimal.

BeispielExample

In folgendem Beispiel wird gezeigt, wie Sie TryParse mit einer Zeichenfolgenrepräsentation von den Werten long, byte und decimal verwenden können.The following examples show how to use TryParse with string representations of long, byte, and decimal values.


string numString = "1287543"; //"1287543.0" will return false for a long
long number1 = 0;
bool canConvert = long.TryParse(numString, out number1);
if (canConvert == true)
  Console.WriteLine("number1 now = {0}", number1);
else
  Console.WriteLine("numString is not a valid long");

byte number2 = 0;
numString = "255"; // A value of 256 will return false
canConvert = byte.TryParse(numString, out number2);
if (canConvert == true)
  Console.WriteLine("number2 now = {0}", number2);
else
  Console.WriteLine("numString is not a valid byte");

decimal number3 = 0;
numString = "27.3"; //"27" is also a valid decimal
canConvert = decimal.TryParse(numString, out number3);
if (canConvert == true)
  Console.WriteLine("number3 now = {0}", number3);
else
  Console.WriteLine("number3 is not a valid decimal");            

Stabile ProgrammierungRobust Programming

Primitive numerische Typen implementieren auch die statische Parse-Methode, die eine Ausnahme auslöst, wenn die Zeichenfolge keine zulässige Zahl ist.Primitive numeric types also implement the Parse static method, which throws an exception if the string is not a valid number. TryParse ist für gewöhnlich effizienter, da es einfach „FALSE“ zurückgibt, wenn die Zahl unzulässig ist.TryParse is generally more efficient because it just returns false if the number is not valid.

.NET Framework-Sicherheit.NET Framework Security

Verwenden Sie immer die Methoden TryParse oder Parse, um Benutzereingaben von Steuerelementen wie Text- oder Kombinationsfeldern zu überprüfen.Always use the TryParse or Parse methods to validate user input from controls such as text boxes and combo boxes.

Siehe auchSee Also

Gewusst wie: Konvertieren eines Bytearrays in einen ganzzahligen TypHow to: Convert a byte Array to an int
Gewusst wie: Konvertieren einer Zeichenfolge in eine ZahlHow to: Convert a String to a Number
Gewusst wie: Konvertieren zwischen Hexadezimalzeichenfolgen und numerischen TypenHow to: Convert Between Hexadecimal Strings and Numeric Types
Verarbeiten numerischer ZeichenfolgenParsing Numeric Strings
Formatierung von TypenFormatting Types