소개
C#에서 nullable은 값 형식의 null 값을 표현하기 위한 개념입니다. 이번 글에서는 C# nullable에 대해 자세히 알아보고, 내장 메서드와 프로퍼티를 설명하고 사용 방법을 알아보겠습니다.
Nullable이란?
C#에서 값 형식은 null 값을 가질 수 없습니다. 그러나 nullable은 값 형식의 null 값을 표현할 수 있도록 합니다. nullable은 값 형식에 대한 래퍼(Wrapper) 클래스를 제공합니다. 이 래퍼 클래스는 값 형식의 null 값을 표현할 수 있습니다.
Nullable 사용 방법
nullable은 값 형식 변수 뒤에 물음표(?)를 붙여서 사용합니다. 다음은 int 형식의 nullable 변수 선언과 초기화의 예입니다.
int? nullableInt = null;
Nullable<int> nullableInt2 = null;
위의 예제에서 nullableInt 변수와 nullableInt2는 int형식의 nullable 변수로 선언되었습니다. 이 변수는 null 값을 가질 수 있습니다.
내장 메서드와 프로퍼티
nullable은 내장 메서드와 프로퍼티를 제공합니다. 이를 통해 nullable 변수를 조작할 수 있습니다.
GetValueOrDefault()
GetValueOrDefault() 메서드는 nullable 변수의 값을 반환하거나, null 일 경우 기본값(default)을 반환합니다.
int? nullableInt = null;
int result = nullableInt.GetValueOrDefault();
위의 예제에서 nullableInt 변수는 null 값을 가지고 있습니다. GetValueOrDefault() 메서드는 이 변수의 값을 반환하지 않고, int형식의 기본값인 0을 반환합니다.
HasValue
HasValue 프로퍼티는 nullable 변수가 null 값을 가지고 있는지 여부를 반환합니다.
int? nullableInt = null;
bool hasValue = nullableInt.HasValue;
위의 예제에서 hasValue 변수는 false 값을 가집니다. nullableInt 변수는 null 값을 가지고 있기 때문입니다.
Value
Value 프로퍼티는 nullable 변수의 값을 반환합니다. 이 값은 null이 아니어야 합니다.
int? nullableInt = null;
int result = nullableInt.Value;
위의 예제에서 nullableInt 변수는 null 값을 가지고 있습니다. Value 프로퍼티는 null 값을 반환하지 않고, 예외를 발생시킵니다.
결론
C# nullable은 값 형식의 null 값을 표현하기 위한 개념입니다. nullable을 사용하면 값 형식 변수에 null 값을 할당할 수 있습니다. 또한, nullable은 내장 메서드와 프로퍼티를 제공하여 nullable 변수를 조작할 수 있습니다. 이번 글을 통해 C# nullable에 대해 자세히 살펴보았습니다.
'C#' 카테고리의 다른 글
이진탐색 알고리즘 (0) | 2023.05.18 |
---|---|
C# DateTime (0) | 2023.05.16 |
C#의 #region 지시어 (0) | 2023.05.08 |
객체지향의 5대 원칙 SOLID : Dependency Inversion Principle (0) | 2023.05.01 |
객체지향의 5대 원칙 SOLID : Interface Segregation Principle (0) | 2023.04.30 |