[C#] Nullable

PIAZZI·2024년 5월 3일

C#

목록 보기
8/9
post-thumbnail

Nullable

  • 값 형식(Value Type)에도 Null을 할당 가능하게 해주는 형식
  • 값 형식 변수에 Null을 지정할 수 있기에, 구조체 등에서 변수를 Null로 비워둘 때 필요가 있을 때 사용한다.

사용방법

int? a = null;
bool? b = null;

그냥 자료형에 물음표(?) 을 붙이면 된다.
그러면 해당 타입은 Nullable 타입임을 의미한다.

int? a = null;
bool? b = null;
float? c = null;
int? a = 10;

조금 다른 점은 같은 자료형이라도 Nullable 타입이 아닌 자료형에 대입을 하려면 Value 키워드를 사용해야 한다.

int a = 0;		// Int형 변수
int? b = 10; 	// Nullable 타입 Int형 변수
int? c = null;

a = b.value; // a는 Nullable 타입이 아니기에 value 키워드를 사용하여 대입.

c = b 		// 같은 Nullable 타입끼리는 상관없다.
int? a = null;

a = 3; // null값이 들어있어도 값 수정은 그냥 하면 된다.

?? 키워드

  • 보통 Nullable 변수와 같이 쓰이는 키워드

해당 Nullable 타입 자료형 변수를 통해서, 이 변수가 Null 상태면 할당하고, 아니면 할당하지 않는 기능이다.

int? a = null;
int? b = 10;

int c = a ?? 10; // a가 null 상태여서 10이 대입
int d = b ?? 20; // b는 null 상태가 아니라서 대입이 안된다.

//c = 10, d = 10

개인적인 공부를 위해 정리한 내용이며, 틀린 점이 있을 수 있습니다.
만일 틀린 내용이 있다면, 댓글로 알려주시면 감사하겠습니다.

profile
범부에오

0개의 댓글