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

なぜジェネリック制約が必要なのか— T item = null;がコンパイルエラーになる理由

出典: C# Generic 制約 (where T : …) — 業務SE が型安全コードを書く5パターンなぜジェネリック制約が必要なのか— T item = null;がコンパイルエラーになる理由

なぜジェネリック制約が必要なのか— T item = null;がコンパイルエラーになる理由 (csharp)#9b560add64cf
// ✅対処1: where T : classで参照型に絞る
public static T GetDefault<T>()where T : class
{
    T item = null;  // OK
    return item;
}
 
// ✅対処2: default(T)を使う(制約なしでもOK)
public static T GetDefault2<T>()
{
    T item = default(T);  //参照型ならnull、値型なら0 / false / DateTime.MinValue
    return item;
}
▸ この snippet は実行結果未収録
▸ 実行結果は未収録です
  • id: #9b560add64cf
  • lines: 13
  • extracted: 2026-06-10

Source収録記事

この snippet は記事の「なぜジェネリック制約が必要なのか— T item = null;がコンパイルエラーになる理由」セクションに登場する。コードの前後の文脈・ハマりどころの解説は記事本文で。

同じ記事から

9
図鑑トップ