Section 7.2: Null fall-through 와 chaining

Null 병합 (coalescing) 연산자 사용 시 좌측 피연산자는 nullable 타입이어야 하며, 우측 피연산자는 nullable 일 수도, 아닐 수도 있다. 최종 결과값의 타입은 자동으로 적절하게 결정될 것이다.

우측 피 연산자가 Non-nullable 인 경우

int? a = null; int b = 3; var output = a ?? b; var type = output.GetType(); Console.WriteLine($"Output Type :{type}"); Console.WriteLine($"Output value :{output}");

출력 결과:

Type :System.Int32 value :3

Demo 확인하기

우측 피 연산자가 Nullable 인 경우

int? a = null; int? b = null; var output = a ?? b;

결과값의 타입은 int? 가 될 것이며 그 값은 b, 혹은 null 이 될 것이다.

다중 병합 (Multiple Coalescing)

병합 (Coalescing) 연산은 연결되어 사용될 수 있다:

int? a = null; int? b = null; int c = 3; var output = a ?? b ?? c; var type = output.GetType(); Console.WriteLine($"Type :{type}"); Console.WriteLine($"value :{output}");

출력 결과:

Type :System.Int32 value :3

Demo 확인하기

Null 조건부 Chaining

Null 병합 (coalescing) 연산자는 null 조건부 연산자와 연계하여 객체의 property 에 대한 보다 안전한 접근을 제공할 수 있다.

object o = null; var output = o?.ToString() ?? "Default Value";

출력 결과:

Type :System.String value :Default Value

Demo 확인하기

본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/CSharpBook/

반응형

+ Recent posts