-
널러블(Nullable)C# 2022. 1. 26. 16:38
1. Nullable
int형에 대해 null값을 넣고 싶은 경우가 있다.
0을 null값으로 생각해봐도 되는거 아니냐고 반문할 수 있지만 만약 0마저도 사용해야 하는 경우가 생길 때 사용하는 것이 널러블이다.
선언
int? n = null;
사용방법
static int Find() { return 0; } static void Main(string[] args) { int? n = null; n = 3; // int a = n; 구문오류 int a = n.Value; }
그리고 알아야할 점은 int형과 int?형은 서로 다른 형식이라는 점이다.
그래서 int?형의 값을 int형에 대입할 때는 Value를 사용한다.
주의할 점
int?형식에 null값이 들어간 경우 Value를 int형에 넘겨주게 되면 오류가 발생한다.
if(n != null) { int a = n.Value; } if(n.HasValue) { int a = n.Value; }
그래서 위와 같은 방법으로 사용한다. 두 if문의 차이점은 딱히 없다.
또 다른 사용방법
int b = n ?? 3;
위 코드의 의미는 삼항연산자를 대입해서 생각하면 쉽다.
int b = (n != null) ? n.Value : 3;
null값이 아니라면 n.Value값을 대입하고 null이면 3을 넣는다는 뜻이다.
'C#' 카테고리의 다른 글
리플렉션(Reflection) (0) 2022.01.26 예외처리 (0) 2022.01.26 람다식(Lambda) (0) 2022.01.26 이벤트(Event) (0) 2022.01.26 대리자(Delegate) (0) 2022.01.25