ホームページ > バックエンド開発 > C++ > C# で Null 許容型をジェネリック パラメーターとして使用するにはどうすればよいですか?

C# で Null 許容型をジェネリック パラメーターとして使用するにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-05 10:11:40
オリジナル
200 人が閲覧しました

How Can I Use Nullable Types as Generic Parameters in C#?

ジェネリック パラメーターとしての Null 許容型

C# では、Null 許容型をジェネリック パラメーターとして定義でき、Null 許容値を扱うときに柔軟性が得られます。ただし、互換性を確保するには、特定の制約を考慮する必要があります。

提供されたコードは、GetValueOrNull 関数を使用してデータベースから null 許容値を取得することを目的としていました。当初、ジェネリック パラメーターはクラスであるように制約されていたため、int? というエラーが発生しました。

これに対処するために、制約が構造体に変更されました。ただし、Null 許容型が Null 非許容である必要があることを示す別のエラーが発生しました。

解決策には、GetValueOrNull 関数の戻り値の型を Nullable に変更することが含まれます

static void Main(string[] args)
{
    int? i = GetValueOrNull<int>(null, string.Empty);
}

public static Nullable<T> GetValueOrNull<T>(DbDataRecord reader, string columnName) where T : struct
{
    object columnValue = reader[columnName];

    if (!(columnValue is DBNull))
        return (T)columnValue;

    return null;
}
ログイン後にコピー

これらの制約に従うことで、Null 許容型をジェネリック パラメーターとして効果的に利用でき、コード内での Null 許容値の柔軟性と処理が可能になります。

以上がC# で Null 許容型をジェネリック パラメーターとして使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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