[개념] Nullable 형식
- 카테고리 없음
- 2025. 3. 16.
| Nullable 형식
- int형식의 변수를선어하면 4바이트의 메모리가 할당된다.
- c#컴파일러는 이 메모리 공간에 반드시 어떤 값이든 넣도록 강제한다. 원하는대로 해주지 않으면 c#컴파일러는 실행 파일을 내주지않는다.
- 하지만 프로그래밍하다보면 어떤 값도 가지지 않는 변수가필요할 때가 가끔 있다. 0이아닌 비어있는 변수, 즉 null 상태인 변수말이다.
- 이럴때 변수에 할당된 메모리 공간을 비워둘 수 있도록 Nullable 형식을 사용하면 된다.
int? a = null;
float? b = null;
모두 null로 초기화 했는데 이것은 "해당 변수를 비운다"는 뜻의 문장이다.
int d;
이 코드는 문법적으로 문제가 없는 변수이다.
하지만 저 코드가 int d = null;과 같은 뜻을 갖는다고 하면 문제가 생긴다.
int 형식은 비워둘 수 없는(null값을 가질 수 없는) 데이터 형식이기 때문이다.
| HashValue와 Value 사용 예시
using System;
using static System.Console;
namespace ConsoleApp1
{
internal class MainApp
{
static void Main(string[] args)
{
int? a = null;
Console.WriteLine(a.HasValue); // a는 null이므로 False 출력
a = 37;
Console.WriteLine(a.HasValue); // a는 37을 갖고있으므로 True 출력
Console.WriteLine(a.Value); // 37을 출력
}
}
}