다음을 통해 공유


System.Nullable 클래스

이 문서는 이 API에 대한 참조 설명서를 보충하는 추가 설명을 제공합니다.

클래스는 Nullable 할당 null할 수 있는 값 형식을 지원합니다.

형식은 값을 할당하거나 null로 할당할 수 있는 경우 null을 허용한다고 합니다. 즉, null이란 형식에 값이 전혀 없음을 의미합니다. 기본적으로 String과 같은 모든 참조 형식은 null을 허용하지만, Int32과 같은 모든 값 형식은 허용하지 않습니다.

C# 및 Visual Basic에서는 값 형식 뒤의 표기법을 사용하여 값 형식을 ? nullable로 표시합니다. 예를 들어 int? C# 또는 Integer? Visual Basic에서는 할당 null할 수 있는 정수 값 형식을 선언합니다.

클래스는 Nullable 구조에 대한 Nullable<T> 보완적인 지원을 제공합니다. 클래스는 Nullable nullable 형식의 기본 형식을 가져오고 기본 값 형식이 제네릭 비교 및 같음 연산을 지원하지 않는 nullable 형식 쌍에 대한 비교 및 같음 연산을 지원합니다.

박싱 및 언박싱

nullable 형식이 박싱될 때, 공용 언어 런타임은 Nullable<T> 개체 자체가 아닌 개체의 기본 값을 자동으로 박싱합니다. 즉, HasValue 속성이 true이면 Value 속성의 내용이 "박스화"됩니다.

HasValue nullable 형식의 속성이false면 boxing 작업의 결과는 다음과 입니다null. nullable 형식의 기본 값이 언박싱되면 공용 언어 런타임은 기본 값을 생성하여 초기화된 새로운 Nullable<T> 구조를 만듭니다.