Wie überprüft man in C#, ob ein String eine Zahl ist? (IsNumeric-Äquivalent)
Hallo Kollegen! Ich bin ein C#-Anfänger und bin auf eine typische Aufgabe gestoßen: Ich muss überprüfen, ob ein vom Benutzer eingegebener String tatsächlich eine Zahl enthält und keinen Müll. Zum Beispiel gibt der Benutzer sein Alter in ein Textfeld ein, und bevor ich es in int speichere, möchte ich sicherstellen, dass es nicht "zwanzig" oder "abc123" ist.
Ich habe versucht, Convert.ToInt32() innerhalb von try-catch zu verwenden, aber das sieht umständlich aus und ist meiner Meinung nach nicht sehr performant. Außerdem muss ich zwischen ganzen Zahlen und Gleitkommazahlen unterscheiden. Gibt es in C# ein eingebautes Äquivalent zur IsNumeric-Funktion aus VB.NET oder eine elegante Möglichkeit, dies zu tun?
So versuche ich derzeit, das Problem zu lösen:
string userInput = "123.45";
try
{
int number = Convert.ToInt32(userInput);
Console.WriteLine("Das ist eine ganze Zahl");
}
catch (FormatException)
{
// Versuche auf double zu prüfen
try
{
double doubleNumber = Convert.ToDouble(userInput);
Console.WriteLine("Das ist eine");