値型関数のジェネリック パラメーターとして Null 許容型を許可する
Null 値の可能性がある DbDataRecords から値を取得する必要性を考慮してください。 Null 許容型をジェネリック パラメーターとして使用しようとすると、最初は、Null 許容型は参照型である必要があることを示すエラーが発生しました。その後、制約を構造体に変更すると、null 許容型は null 非許容である必要があるという別のエラーが発生しました。
この問題に対処するには、戻り値の型を 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; }
DbDataRecords を伴う操作中に null 値が使用される可能性を考慮しながら、null 許容型は値の型を処理する関数の汎用パラメーターとして機能できるようになりました。
以上がDbDataRecords からの潜在的な Null 値を処理する値型関数のジェネリック パラメーターとして Null 許容型を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。