[Unity]/[C#]

[C#] Nullable (feat. int?)

극꼼 2022. 2. 4. 11:07
반응형


1. Nnullable 타입이란?

: Null을 가질 수 없는 타입(int, bool 처럼 값을 가지는 타입)이 Null을 가질 수 있게 해주는 타입입니다.

* 참조 타입은 Null 체크가 가능함.

 

 


2. Nullable 타입의 용도

저는 이 타입을 Heap을 공부할 때 처음 사용해 보았습니다.

https://geukggom.tistory.com/163

 

Heap에서는 리스트의 0번 인덱스 데이터 값을 사용하지 않기 때문에 null을 집어넣었는데요, 이때

List<int?> 타입을 사용했습니다.

 

Nullable 타입은 타입명 다음에 ?를 붙여 사용합니다.

(ex) int?, bool?

 

 

HasValue메서드를 아래와 같이 사용하면 값이 있는지 없는지 확인할 수 있습니다.

int?[] arr = new int?[3];

arr[0] = 1;
arr[1] = 2;
arr[2] = null;

for (int i = 0; i < 3; i++)
{
    Debug.Log(arr[i].HasValue);
}

 

반응형