Anna belly belly hard/C#
[C# 개념] 3.6 Nullable 형식
bibiana 각선행
2023. 6. 29. 15:42
반응형
- C# 컴파일러는 이 메모리 공간에 반드시 어떤 값이든 넣도록 강제합니다. 원하는 대로 해주지 않으면 C# 컴파일러는 실행 파일을 내주지 않습니다.
- 0이 아닌 비어있는 변수, 즉 null 상태인 변수 => 변수에게 할당된 메모리 공간을 비워둘 수 있도록 Nullable 형식
- Nullable 형식의 이름은 Null(비어 있는) + able(~될 수 있는). 즉, 비어있는 상태가 될수 있는 형식
- Nullable 형식을 사용할 수 있는 경우는 값 형식에 한해서 입니다. 참조 형식은 사용할수 없습니다.
- 모든 Nullable 형식은 HasValue 와 Value 두가지 속성을 가지고 있다.
- HasValue 속성 : 해당 변수가 값을 갖고 있는지 그렇지 않은지
- Value 속성 : 변수에 담겨 있는 값
- 만약 Value 속성을 이용하여 값을 꺼내려 시도하면 CLR은 InvalidOperation Exception 예외를 띄울것입니다.
- 따라서, Nullable 형식을 사용활 때는 HasValue 속성을 확인하거나 null과 같은지 비교하여 변수가 비어 있는지 확인하는 사전 검사가 필요하다.
using System;
namespace Nullable
{
internal class MainAPP
{
static void Main(string[] args)
{
int? a = null;
Console.WriteLine(a.HasValue);
Console.WriteLine(a != null);
a = 3;
Console.WriteLine(a.HasValue);
Console.WriteLine(a != null);
Console.WriteLine(a.Value);
}
}
}
반응형