ジェネリック クラスとジェネリック メソッドでは、あらかじめ以下の情報を把握していない場合に、パラメーター化された型 T に既定値を割り当てる方法が 1 つの問題となります。 T が参照型か値型か T が値型の場合、数値か構造体か パラメーター化された型 T の変数がある場合、ステートメント t = null は、T が参照型のときにのみ有効です。また、t = 0 は、数値では機能しますが、構造体では機能しません。 この問題を解決するには、default キーワードを使用します。このキーワードは、参照型の場合には null を返し、数値の値型にはゼロを返します。 構造体の場合、ゼロまたは null (値型か参照型かによって変わります) に初期化された構造体の各メンバーを返します。 null 許容値型の場合、default は System.Nullable<T> を返します。これは、他の構