C#/.NET(28): Nullable type
Nullabel type 이 란?
Nullable 타입은 null 값을 할당할 수 있는 타입을 말한다.
Nullable
예를 들어 null 값은 정수에 할당할 수 없지만, Nullable
뿐만 아니라, null 값은 정수형과 같은 value type에 할당할 수 없지만, List<>와 같은 reference type에 할당할 수 있다
Null의 정의와 필요성
Null 값은 ‘결측값’으로 정의할 수 있다. 그렇다면, null 값은 어디에 필요할까?
예를 들어, 5명의 사람의 평균 신장을 구하는 프로그램을 작성한다고 생각해보자.
이 중에서 3명의 평균 신장은 알 수 있지만, 2명은 알 수없어 비워둔다고 했을 때, 알 수 없는 이 2명의 신장을 어떻게 저장할 수 있을까?
흔히 드는 생각으로 0 으로 저장하고 평균 신장을 구한다면 어떻게 될까?

이렇게 결측값, 계산에 포함되어서는 안되는 값으로 기능해야할 때 null 값을 사용하면 좋다.
[Nullable Type - 예시 코드]
using System;
namespace NuallableType
{
internal class Program
{
static void Main(string[] args)
{
// int Height = null; // value type 에 null 값을 할당할 수 없음, 에러
int? Height = null;
Nullable<int> Height2 = null;
Nullable<int> Height3 = new Nullable<int>();
if (Height.HasValue)
{
Console.WriteLine($"Height is {Height.Value}");
}
else
{
Console.WriteLine($"Height is null");
}
int number = Height.Value; // 정수에 null value를 할당할 수 있음
}
}
}
Height is null
댓글남기기