이 문서는 이 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> 구조를 만듭니다.
.NET