반응형
C# 강좌 - Nullables
변수가 값 또는 null 참조를 가질 수 있도록 nullable 형식이 도입되었습니다.
C#에서는 기본적으로 값 형식(예: int, double 및 bool)에 null 값을 할당할 수 없습니다.
Nullable 형식을 사용하면 값 형식을 Nullable<T> 구조로 래핑하여 값 형식에 null 값을 할당할 수 있습니다.
nullable 형식을 선언하려면 ? 물음표를 변수끝에 추가하면 됩니다.
예를 들어 nullable int를 선언하려면 다음과 같이 작성 하면 됩니다.
int? nullableInt = null;
또한 Nullable<T> 구조를 사용하여 nullable 형식을 선언할 수도 있습니다.
Nullable<int> nullableInt = null;
nullable 형식에 값이 있는지 또는 HasValue 속성을 사용하여 null인지 확인할 수 있습니다.
if (nullableInt.HasValue)
{
int intValue = nullableInt.Value;
}
else
{
// nullableInt is null
}
또한 null 병합 연산자(??)를 사용하여 null인 경우 nullable 형식에 기본값을 할당할 수 있습니다.
int nonNullableInt = nullableInt ?? 0; // nonNullableInt is 0 if nullableInt is null
GetValueOrDefault() 메서드를 사용하여 null 허용 유형의 값을 가져오거나 null인 경우 기본값을 가져올 수 있습니다.
int nonNullableInt = nullableInt.GetValueOrDefault(); // nonNullableInt is 0 if nullableInt is null
int nonNullableInt = nullableInt.GetValueOrDefault(10); // nonNullableInt is 10 if nullableInt is null
식에서 nullable 형식을 사용하는 경우 nullable 형식이 암시적으로 값 형식으로 변환되지 않으므로 Value 속성을 사용하여 기본 값을 가져와야 할 수 있습니다.
int? nullableInt = 10;
int intValue = nullableInt.Value; // intValue is 10
// compare
if( nullableInt != null )
{
}
else
{
}
반응형
'C# > C# 강좌' 카테고리의 다른 글
C# 강좌 - 부울형 ( Boolean, true false ) (0) | 2023.02.19 |
---|---|
C# 강좌 - 문자열 (String) (1) | 2023.02.19 |
C# 강좌 - 타입 캐스팅 (Type Casting) (0) | 2023.02.19 |
C# 강좌 - 연산자 (Operators) (0) | 2023.02.19 |
C# 강좌 - 상수 (Constants) (0) | 2023.02.19 |