ホームページ > バックエンド開発 > C++ > 文字列を特定の型に解析できるかどうかを一般的にテストするにはどうすればよいですか?

文字列を特定の型に解析できるかどうかを一般的にテストするにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-30 19:05:16
オリジナル
347 人が閲覧しました

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

TryParse を使用した一般的な文字列のテスト

文字列値を検証するための汎用拡張メソッドを作成しようとしましたが、「TryParse」がどのメソッドにも定義されていないという問題が発生しました。

を使用した代替アプローチTypeDescriptor

TypeDescriptor クラスは、特定のデータ型の型コンバーターを取得する方法を提供します。このコンバーターは、文字列を他の型に変換したり、他の型から文字列を変換したりするために使用できます。コードの更新バージョンは次のとおりです。

public static bool Is(this string input, Type targetType)
{
    try
    {
        TypeDescriptor.GetConverter(targetType).ConvertFromString(input);
        return true;
    }
    catch
    {
        return false;
    }
}
ログイン後にコピー

このバージョンでは、任意のターゲット型を渡すことができ、適切なコンバーターを使用して文字列をその型に変換しようとします。変換が成功すると、メソッドは true を返します。それ以外の場合は false を返します。

例外と代替手段

例外ベースのアプローチは機能しますが、より堅牢なオプションを好む場合があります。例外を使用する代わりに、Nullable を返すこともできます。

または、int、double、DateTime などの一般的な型のオーバーロードを作成し、型ごとにカスタム ロジックを定義することもできます。これにより、汎用実装の必要性がなくなり、より効率的でタイプセーフな変換が提供されます。

以上が文字列を特定の型に解析できるかどうかを一般的にテストするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート