動くコード図鑑技術記事現場の渡り方キャリア論すべての記事About
C#

イディオム3: DataReader.IsDBNull(i)で読み取り時に分岐

出典: SQL Server の DBNull を C# で安全にハンドリングする5つのイディオムイディオム3: DataReader.IsDBNull(i)で読み取り時に分岐

イディオム3: DataReader.IsDBNull(i)で読み取り時に分岐 (csharp)#13fb96000b24
//拡張メソッド化すると行が圧縮できる
public static class SqlReaderExtensions
{
    public static T? GetNullable<T>(this SqlDataReader reader, int ordinal)
        where T : struct
        => reader.IsDBNull(ordinal)? (T?)null : (T)reader.GetValue(ordinal);
 
    public static string GetStringOrNull(this SqlDataReader reader, int ordinal)
        => reader.IsDBNull(ordinal)? null : reader.GetString(ordinal);
}
 
//呼び出し側
int? amount = reader.GetNullable<int>(2);
string name = reader.GetStringOrNull(1);
▸ この snippet は実行結果未収録
▸ 実行結果は未収録です
  • id: #13fb96000b24
  • lines: 14
  • extracted: 2026-06-10

Source収録記事

この snippet は記事の「イディオム3: DataReader.IsDBNull(i)で読み取り時に分岐」セクションに登場する。コードの前後の文脈・ハマりどころの解説は記事本文で。

同じ記事から

10
図鑑トップ