ABOUT ME

Today
Yesterday
Total
  • 널러블(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
Designed by Tistory.