C#에서 default 연산자를 사용하면 값 형식(value type)과 참조 형식(reference type)을 포함한 모든 타입의 기본값을 손쉽게 얻을 수 있습니다. default로 지정된 식은 컴파일 시점에 평가되므로 런타임 성능에 영향을 주지 않는다는 장점이 있습니다.
기본값을 구하는 방법
int 타입의 기본값을 얻으려면 다음과 같이 작성합니다.
default(int);
long 타입의 기본값은 다음과 같습니다.
default(long)
예제 코드
아래 예제는 int, long, bool 세 가지 타입의 기본값을 구해 콘솔에 출력합니다.
using System;
public class Demo {
public static void Main() {
int val1 = default(int);
long val2 = default(long);
bool val3 = default(bool);
// int의 기본값 출력
Console.WriteLine(val1);
// long의 기본값 출력
Console.WriteLine(val2);
// bool의 기본값 출력
Console.WriteLine(val3);
}
}실행 결과
0 0 False
결과 해설
숫자 계열 타입인 int와 long의 기본값은 0이며, 논리 타입인 bool의 기본값은 false입니다. 이처럼 각 타입마다 정해진 기본값이 있으며, 참조 형식(클래스, 문자열 등)의 경우 기본값은 null이 됩니다.
참고로 C# 7.1부터는 타입 이름을 명시하지 않는 default 리터럴이 도입되어, 변수 선언 시 int val = default;처럼 더 간결하게 사용할 수 있습니다.