본문 바로가기
개발/기본) 기본기

기본기)c#) Nullable 값 형식 ( ? 연산자)

by 테샤르 2021. 2. 2.

Nullable 값 형식

프로그래밍을 하다 보면 Null에 대한 예외 처리를 많이 한다. c# 8.0 이상부터 지원하는 기능으로 

Nullable이라는 형식은 System.Nullable<T>의 구조체로 기본값이 정의되지 않는 값을 표시해야 하는 경우에 null 허용 값을 사용한다.

 

사용 방식은 다음과 같다.

자료형 다음에 ? 을 붙이고 사용하게 되면 null을 허용하는 변숫값으로 사용할 수 있다.

 

double? pi = 3.14;
char? letter = 'a';
Vector3 ? verctor3 = null;

int m2 = 10;
int? m = m2;


bool? flag = null;

// An array of a nullable value type:
int?[] arr = new int?[10];

Nullable 형식 T?의 인스턴스는 box이 되기 때문에 사용하는데 유의해야 한다.

 

<주의사항>

더보기

boxing 및 unboxing 을 유발하기 때문에 nullable 형식을 사용하면 성능이 저하됩니다 . System.Nullable는 값 형식을 래핑하고 HasValue 속성을 제공하는 참조 형식입니다. 다른 것은 별로 없으며 nullable 정수가 필요한 경우는 매우 드뭅니다. 일반적으로 데이터베이스 및 데이터 저장소를 처리할 때 일반적으로 사용되지만, 그렇지 않은 경우에는 일반 정수를 사용하지 않습니다. 일반적으로 nullable 값 유형을 최대한 피하는 것이 좋습니다. 일반적으로 요구 사항을 조정하여 해결할 수 있습니다.

 

 

Microsoft Doc : [Nullable 값 형식]

 

Null 허용 값 형식 - C# 참조

C# nullable 값 형식 및 사용 방법 알아보기

docs.microsoft.com

 

 ★

 

 

반응형

댓글