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

定石2:複数IDisposableは入れ子usingで書く

出典: C# 例外処理の正解 — try-catch-finally / using / Exception フィルタ (when句) の使い分け定石2:複数IDisposableは入れ子usingで書く

定石2:複数IDisposableは入れ子usingで書く (csharp)#740c9638ff8a
// ✅定石2:入れ子usingで複数IDisposableを扱う
using (var conn = new SqlConnection(connStr))
using (var cmd = new SqlCommand("SELECT id, name FROM users WHERE status = @s", conn))
{
    conn.Open();
    cmd.Parameters.AddWithValue("@s", "active");
 
    using (var reader = cmd.ExecuteReader())
    {
        while (reader.Read())
        {
            int id = reader.GetInt32(0);
            string name = reader.GetString(1);
            //処理
        }
    }
}
// ↑ブロック終了時にreader → cmd → connの順でDispose()が呼ばれる
▸ この snippet は実行結果未収録
▸ 実行結果は未収録です
  • id: #740c9638ff8a
  • lines: 18
  • extracted: 2026-06-10

Source収録記事

この snippet は記事の「定石2:複数IDisposableは入れ子usingで書く」セクションに登場する。コードの前後の文脈・ハマりどころの解説は記事本文で。

同じ記事から

8
図鑑トップ