C# 형식의 기본값(C# 참조)

다음 표는 C# 형식의 기본값을 보여줍니다.

Type 기본값
임의 참조 형식 null
임의 기본 제공 정수 숫자 유형 0(영)
임의 기본 제공 부동 소수점 숫자 유형 0(영)
bool false
char '\0'(U+0000)
enum (E)0로 생성한 값이며 여기서 E는 열거형 식별자입니다.
struct 모든 값 형식 필드를 기본값으로 설정하고 모든 참조 형식 필드를 null로 설정하여 생성한 값입니다.
Any 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# 언어 사양의 다음 섹션을 참조하세요.

참고 항목