C#の既定値

C#の変数には規定値があります。
変数が宣言されると自動的に規定値で初期化されます。



変数の型毎の既定値

既定値は変数の型によって異なります。
それぞれの既定値は以下のように定められています。
種類既定値
整数値型
 (sbyte,byte,short,ushort,int,uint,long,ulong)
0
浮動小数点値型
 (float,double,decimal)
0
論理型
 (bool)
false
文字型
 (char)
'\0'
参照型
 (配列,string,クラス型)
null
null許容値型
 (Nullable<T>)
HasValueプロパティがfalse
null許容値型の'null'値

既定値への初期化は、メモリを全ビットゼロに初期化することによって行われます。



既定値を生成する

キーワード(予約語) default を使って既定値を生成する事ができます。
int a = default(int);

C# 7.1以降では以下のような記述も可能です。
int a = default;



コメント