본문 바로가기
🖥️/C#

[C#] null 조건부 연산자, 병합 연산자

by HanaV 2023. 8. 16.
728x90

null 조건부 연산자 ?.

C# 6.0에서 도입된 연산자로, 해당 객체가 null인지 검사하여 그 결과가 참(null)이면 그 결과로 null을 반환하고, 그렇지 않으면 . 뒤의 멤버를 반환해준다.

ArrayList a = null;
a?.Add("A"); // a가 null값이므로 Add 메서드가 실행되지 않는다.
Console.WriteLine($"a에는 {(a == null ? "null" : string.Join(", ", a))}");

ArrayList b = new ArrayList();
b?.Add("B"); // b가 null값이 아니므로 Add 메서드가 실행된다.
Console.WriteLine($"b에는 {(b.Count == 0 ? "비어있음" : string.Join(", ", b.ToArray()))}");

 

null 병합 연산자 ??

변수/객체의 null 검사를 간결하게 만들어준다. ?? 왼쪽이 null이 아니면 왼쪽을 출력하고, null이면 오른쪽을 출력한다.

int? a1 = null;
Console.WriteLine($"{a1 ?? 0}");
a1 = 99;
Console.WriteLine($"{a1 ?? 0}");

 

728x90

"); wcs_do();