Dies ist eine modifizierte Version der von Herrn Siir vorgeschlagenen Lösung. Ich finde, dass das Hinzufügen einer Erweiterungsmethode die beste Lösung für die Wiederverwendung und Einfachheit der aufrufenden Methode ist.
public static bool IsNumeric(this String s)
{
try { double.Parse(s); return true; }
catch (Exception) { return false; }
}
Ich habe den Methodenkörper so geändert, dass er in zwei Zeilen passt, und die unnötige .ToString () - Implementierung entfernt. Für diejenigen, die mit Erweiterungsmethoden nicht vertraut sind, gilt Folgendes:
Erstellen Sie eine Klassendatei mit dem Namen ExtensionMethods . In diesen Code einfügen:
using System;
using System.Collections.Generic;
using System.Text;
namespace YourNameSpaceHere
{
public static class ExtensionMethods
{
public static bool IsNumeric(this String s)
{
try { double.Parse(s); return true; }
catch (Exception) { return false; }
}
}
}
Ersetzen Sie YourNameSpaceHere durch Ihren tatsächlichen NameSpace. Änderungen speichern. Jetzt können Sie die Erweiterungsmethode überall in Ihrer App verwenden:
bool validInput = stringVariable.IsNumeric();
Hinweis: Diese Methode gibt true für Ganzzahlen und Dezimalstellen zurück, gibt jedoch false zurück, wenn die Zeichenfolge ein Komma enthält. Wenn Sie Eingaben mit Kommas oder Symbolen wie "$" akzeptieren möchten, würde ich empfehlen, zuerst eine Methode zu implementieren, um diese Zeichen zu entfernen, und dann zu testen, ob IsNumeric.