Console.WriteLine(default(int)); // default(int) == 0
Console.WriteLine(default(object) is null); // default(object) == True
void DisplayDefaultOf<T>()
{
var val = default(T);
Console.WriteLine($"Default value of {typeof(T)} is {(val == null ? "null" : val.ToString())}.");
}
DisplayDefaultOf<int?>(); // 참조 형식인지 확인
DisplayDefaultOf<System.Numerics.Complex>();
DisplayDefaultOf<System.Collections.Generic.List<int>>();
// Output:
// Default value of System.Nullable`1[System.Int32] is null.
// Default value of System.Numerics.Complex is (0, 0).
// Default value of System.Collections.Generic.List`1[System.Int32] is null.
// default 리터럴을 사용하여 해당 형식의 기본값으로 변수를 초기화
int a = default(int);
int a = default;