C# 型の既定値 (C# リファレンス)
次の表では、C# の型の既定値を示します。
種類 | 既定値 |
---|---|
任意の参照型 | null |
任意の組み込み整数数値型 | 0 (ゼロ) |
任意の組み込み浮動小数点数値型 | 0 (ゼロ) |
bool | false |
char | '\0' (U+0000) |
enum | 式 (E)0 によって生成される値。E は列挙型識別子です。 |
struct | すべての値型フィールドが既定値に設定され、すべての参照型フィールドが null に設定された値。 |
任意の null 許容値型 | HasValue プロパティが false で、Value プロパティが未定義のインスタンス。 その規定値は、null 許容値型の "null" 値とも呼ばれます。 |
既定値式
次の例に示すように、型の既定値を生成するには default
演算子を使います。
int a = default(int);
default
リテラルを使用して、その型の既定値に変数を初期化できます。
int a = default;
値型のパラメーターなしのコンストラクター
値の型については、次の例が示すように、"暗黙的な" パラメーターなしのコンストラクターによっても、型の既定値が生成されます。
var n = new System.Numerics.Complex();
Console.WriteLine(n); // output: (0, 0)
実行時に、System.Type インスタンスが値の型を表している場合は、Activator.CreateInstance(Type) メソッドを使用して、パラメーターなしのコンストラクターを呼び出して、型の既定値を取得できます。
注意
C# 10 以降、構造体型 (値型) に暗黙的なパラメーターなしのコンストラクターがあり、その型の既定値以外の値が生成される可能性があります。 したがって、default
演算子または default
リテラルを使用して、型の既定値を作成することをお勧めします。
C# 言語仕様
詳細については、「C# 言語仕様」の次のセクションを参照してください。
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET