[C#] Nullable이란 무엇인가?
C#
2024. 8. 19.

Nullable

  • Nullable은 값 형식에도 null 값을 허용하도록 하는 기능입니다.
  • 기본적으로 값 형식(int, float, bool 등)은 null값을 가질 수 없지만, nullable을 사용하면 가능해집니다.

Nullable 타입 선언 방법

1.Nullable<T> 제네릭 클래스를 사용:

Nullable<int> nullableInt = null;

 

2. ?문법을 사용 (더 간단한 표현)

int? nullableInt = null;

 

Nullable 타입 사용

1. HasValue 속성: 값이 있는지 여부를 확인 (true 또는 false 반환)

if (nullableInt.HasValue) { /* 값이 있음 */ }

 

2. Value 속성: 실제 값을 가져옴 (null일 때 사용하면 예외 발생)

int value = nullableInt.Value; // null이면 예외 발생

 

3. ?? 연산자: null일 경우 대체값을 제공

int result = nullableInt ?? 0; // nullableInt가 null이면 0

 

4. Null-conditional 연산자(?.): null인지 확인하고 안전하게 접근

int? length = nullableString?.Length; // nullableString이 null이면 length도 null

 

요약

  • nullable을 사용하면 값 형식도 null 값을 가질 수 있습니다.
  • ?를 사용해 간편하게 선언할 수 있습니다.
  • HasValue, Value, ??, ?. 연산자를 사용해 안전하게 nullable 타입을 다룰 수 있습니다.