C#
C# Nullable타입과 Null 조건 연산자 그리고 ?? 연산자
나도힐링
2021. 12. 22. 19:55
반응형
Nullable 타입(?)
- int, short, float, .... 등의 데이터 형식에 null 값을 허용하지 않지만 Nullable 타입을 사용하면 null 값이 허용
- ?(물음표) 또는 Nullable<T>로 사용할 수 있지만 ?(물음표) 사용을 권장
int i = null; // 오류
int? i = null; // null 가능
Nullable<int> i = null; // 두 번째 코드와 동일
Null 조건 연산자(?.)
- ?(물음표) 앞의 객체가 Null이면 Null을 리턴
- ?(물음표) 앞의 객체가 Null이 아니면 .(점) 다음 코드를 실행
List<int> list = null;
int? count = list?.Count;
Console.WriteLine($"count: {count}");

List<int> list = new List<int>();
int? count = list?.Count;
Console.WriteLine($"count: {count}");

?? 연산자
- Null 조건 연산자의 ?(물음표) 앞의 객체가 Null이면 ?? 연산자 뒤의 값을 리턴
List<int> list = null;
int? count = list?.Count ?? 1;
Console.WriteLine($"count: {count}");

반응형