내 인생은 Nullable을 알기 전과 후로 나뉜다.
Nullable Type은 Null을 값으로 가질 수 없는 데이터의 타입을 Null을 가질 수 있는 타입으로 만들도록 선언해주는 것.
그럼 Null을 값으로 가질 수 없는 데이터 타입에는 무엇이 있을까 ?
대표적으로 int, double, float, bool, struct 들이 있다.
이것들에 값이 없다를 표현하기 위해 사용하는 것이다.
Nullable을 사용한 코드를 .ARABOZA
int?[] arr = new int?[10];
arr[0]=10;
arr[2]=11;
arr[4]=12;
arr[5]=13;
foreach(var num in arr){ //var 대신 int?으로 사용가능하다.
if(num.HasValue)
Console.WriteLine($"num = {num.Value}"); // num = 10, num = 11, num = 12, num = 13
}
이거는 클래스라 널러블안해줘도 됨. 근데 널러블처럼 코드 간결하게 수정가능.
if (CurrentSlave != null)
{
equipRenderer.sprite = slave.CurrentEquip.ArmedSprite;
}
이랬던 코드가
equipRenderer.sprite = slave.CurrentEquip?.ArmedSprite;
주의할점 : Nullable은 중복 사용 불가 ex) Nullable<Nullable<int>> num