Game Development, 게임개발/개발

Nullable Type 이용하기 [Unity]

게임이 더 좋아 2022. 2. 20. 11:39
반응형
728x170

널러블..??

Nullable? null + able??

null 이 가능하다고..? 뭐지??

알아보자

 


 

매우 유용한 기능 중 하나로

예를 들자면

 

사용방법이다.

 

int? num; //1, 선언
int? a = null;//2. 할당

 -> int 형 변수인 a에 null 값을 할당함.

 


 

이게 도대체 어디에 이용되느냐?


바로 null check다.
실제로 바로 사용되지 않는 변수를 선언할 때 초기화를 해야하는데

int형 같은 경우에는 일반적으로  null값이 들어가지 않아


거의 사용되지 않는 값을 집어넣는게 대부분이다.(ex. minValue)

하지만 null을 집어넣어서 실제로 사용되지 않으면 null 값으로 남아있어 좋다.

 

nullCheck는 아래처럼 이용한다.

 


**HasValue이용 -> 기억하자.


1. HasValue 속성

값이 있는 경우  : true

값이 없는 경우(Null) : false



★★★★★★★★★


Value를 접근할 때는 HasValue로 체크 한 후에 접근하기.

값이 존재하지 않는 Null인 경우 Value에 바로 접근하게 되면 

예외가 발생해서 프로세스가 종료될 수 있어서 그렇다.


★★★★★★★★


//Value 이용
2. Value 속성

값이 있는 경우 : 할당된 값

값이 없는 경우(null) : 예외(Exception) 발생 


//GetValueOrDefault() 이용
3. GetValueOrDefault() 메서드

값이 있는 경우 : 할당된 값 반환

값이 없는 경우(Null) : 기존 타입의 default 값 반환

 

예시로는

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Nullable
{
    class Program
    {
        static void Main(string[] args)
        {
            int? a = null;
 
            if (a.HasValue) // -> HasValue로 null값 체크.
            {
                Console.WriteLine(a);
            }
            else
            {
                Console.WriteLine("null 값입니다.");
            }
        }
    }
}

 

반응형
그리드형