-
[C# 개념] 3.6 Nullable 형식Anna belly belly hard/C# 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); } } }
반응형'Anna belly belly hard > C#' 카테고리의 다른 글
[C# 개념] 3.8 공용 형식 시스템 (0) 2023.06.29 [C# 개념] 3.7 var : 데이터 형식을 알아서 파악하는 똑똑한 C# 컴파일러 (0) 2023.06.29 [C# 개념] 3.5 상수와 열거 형식 (0) 2023.06.29 [C# 개념] 3.4 기본 데이터 형식 (0) 2023.06.26 [C# 개념] 3.3 값 형식과 참조 형식 (0) 2023.06.21