null 가능 형식에 null 병합 연산자 사용하기
이번에는 null 가능 형식에 대한 null 병합 연산자를 사용해 보겠습니다. 다음 내용을 C# 인터렉티브에 입력한 후 실행해 보세요.
> int? value = null; //null 가능 형식에 null로 초기화 > int defaultValue = value ?? -1; //value가 null이면 -1 대입 > defaultValue -1
이 코드에서 value 변수에는 null이 입력되었습니다. value ?? -1; 코드로 value 값이 null이면 null 대신에 -1을 defaultValue에 할당합니다. 이러한 코드를 사용함으로써 null 때문에 발생하는 에러를 줄일 수 있습니다.
null 병합 연산자와 default 키워드
이번에는 ?? 연산자와 default 키워드를 함께 사용해 보겠습니다. 다음 내용을 C# 인터렉티브에 입력한 후 실행해 보세요.
> int? x = null; > int y = x ?? 100; //x가 null이면 100으로 초기화 > int z = x ?? default(int); //정수형의 기본값인 0으로 초기화 > int z = x ?? default; //정수형의 기본값인 0으로 초기화 > $"y : {y}, z : {z}" "y : 100, z : 0"
특정 식의 결과에 null 대신 해당 형식의 기본값을 저장할 때는 default(T) 코드와 함께 사용 가능합니다. default(int) 구문은 다음과 같이 default로 줄여 표현해도 됩니다.
> int? x = null; > int z = x ?? default; > z 0