null 병합 연산자란?
null 병합 연산자는 ?? 입니다.
?? 는 null 조건부 연산자처럼 객체나 변수의 null 검사를 간결하게 해 줍니다.
두 개의 피연산자를 받아들이고
왼쪽 피연산자가 null이라면 오른쪽 피연산자를 반환합니다.
왼쪽 피연산자가 null이 아니라면 왼쪽 피연산자를 반환합니다.
이번에 C#을 공부하면서 느낀 건 null과 관련된 형식에는? 기호가 들어갑니다.
Nullable, ?. , ?[]도?로 시작합니다.
C, C++에서는 경험하지 못한 새로운 문법입니다.
말보다는 한 번 보는 것이 이해가 잘 된다고 생각합니다.
int? num = null;
Console.WriteLine($"{num ?? 0}"); // num이 null이기 때문에 0이 출력됩니다.
string str = "hi";
Console.WriteLine($"{str ?? "default"}"); // str은 null이 아니기 때문에 hi가 출력됩니다.
연습 예제
using System;
class Program
{
static void Main(string[] args)
{
int? num = null;
Console.WriteLine($"{num ?? 0}");
num = 2021;
Console.WriteLine($"{num ?? 0}");
string str = null;
Console.WriteLine($"{str ?? "Default"}");
str = "Arcane";
Console.WriteLine($"{str ?? "Default"}");
}
}
실행결과
0
2021
Default
Arcane
'CS > C#' 카테고리의 다른 글
[C#] 클래스 (0) | 2021.12.11 |
---|---|
[C#] 문자열 찾기 함수들 (0) | 2021.12.10 |
[C#] var (0) | 2021.12.10 |
[C#] foreach (0) | 2021.12.05 |
[C#] IsNullOrEmpty (0) | 2021.11.19 |