Heim > Backend-Entwicklung > C++ > Wie kann ich allgemein testen, ob eine Zeichenfolge in einen bestimmten Typ geparst werden kann?

Wie kann ich allgemein testen, ob eine Zeichenfolge in einen bestimmten Typ geparst werden kann?

Susan Sarandon
Freigeben: 2024-12-30 19:05:16
Original
346 Leute haben es durchsucht

How Can I Generically Test if a String Can Be Parsed to a Specific Type?

Generisches Testen von Zeichenfolgen mit TryParse

Beim Versuch, eine generische Erweiterungsmethode zum Überprüfen von Zeichenfolgenwerten zu erstellen, ist ein Problem aufgetreten, bei dem „TryParse“ in keiner definiert war Schnittstelle und suchte nach einer alternativen Lösung.

Alternativer Ansatz unter Verwendung TypeDescriptor

Die TypeDescriptor-Klasse bietet eine Möglichkeit, einen Typkonverter für einen bestimmten Datentyp abzurufen. Dieser Konverter kann zum Konvertieren von Zeichenfolgen in und aus anderen Typen verwendet werden. Hier ist eine aktualisierte Version Ihres Codes:

public static bool Is(this string input, Type targetType)
{
    try
    {
        TypeDescriptor.GetConverter(targetType).ConvertFromString(input);
        return true;
    }
    catch
    {
        return false;
    }
}
Nach dem Login kopieren

In dieser Version können Sie jeden Zieltyp übergeben und es wird versucht, die Zeichenfolge mit dem entsprechenden Konverter in diesen Typ zu konvertieren. Wenn die Konvertierung erfolgreich ist, gibt die Methode „true“ zurück; andernfalls wird false zurückgegeben.

Ausnahmen und Alternativen

Während der ausnahmebasierte Ansatz funktioniert, bevorzugen Sie möglicherweise eine robustere Option. Anstatt Ausnahmen zu verwenden, könnten Sie ein Nullable Wert, der angibt, ob die Konvertierung erfolgreich war.

Alternativ können Sie Überladungen für gängige Typen wie int, double und DateTime erstellen und benutzerdefinierte Logik für jeden Typ definieren. Dies würde die Notwendigkeit einer generischen Implementierung beseitigen und effizientere und typsicherere Konvertierungen ermöglichen.

Das obige ist der detaillierte Inhalt vonWie kann ich allgemein testen, ob eine Zeichenfolge in einen bestimmten Typ geparst werden kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage