반응형
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 값입니다.");
}
}
}
}
728x90
반응형
그리드형
'Game Development, 게임개발 > 개발' 카테고리의 다른 글
String과 StringBuilder의 차이, 용도 [Unity] (0) | 2022.02.27 |
---|---|
게임 오브젝트의 2가지 충돌, OnTriggerXXX, OnCollisionXXX [Unity] (0) | 2022.02.20 |
Unity에게 MonoBehaviour란..? [Unity] (0) | 2022.02.20 |
UnityEvent, UnityAction - 유니티 이벤트, 유니티 액션[Unity] (0) | 2022.02.16 |
Async , Await 키워드, 비동기 프로그래밍(Asynchronous Programming) [Unity] (1) | 2022.02.15 |