-
C# 프로그래밍의 기초 : Nullable (널러블)2024년 03월 03일
- 유니얼
-
작성자
-
2024.03.03.:47
728x90널러블(Nullable) 타입은 C#에서 값 타입(Value Type)이 null 값을 가질 수 있게 하는 기능입니다. 기본적으로 값 타입, 예를 들어 int, double, bool 등은 null을 할당할 수 없습니다. 이러한 제약은 때때로 프로그래밍에 있어서 불편함을 초래할 수 있습니다. 널러블 타입은 이러한 문제를 해결하고, 값 타입 변수가 null을 가질 수 있도록 해줍니다.
널러블 타입의 선언
널러블 타입은 해당 타입 뒤에 ?를 붙여 선언합니다. 예를 들어, int?는 널러블 정수 타입을 의미하고, null 값을 가질 수 있습니다.
널러블 타입의 주요 속성 및 메서드
- HasValue: 변수에 값이 할당되어 있는지 여부를 나타내는 bool 값입니다. 값이 있으면 true, null이면 false를 반환합니다.
- Value: 변수에 저장된 값을 반환합니다. HasValue가 false일 때 Value를 접근하면 InvalidOperationException 예외가 발생합니다.
널러블 타입의 사용 이유
- 데이터베이스와의 상호작용: 데이터베이스에서는 종종 값이 '없음' 또는 '알 수 없음'을 나타내기 위해 null을 사용합니다. 널러블 타입을 사용하면 데이터베이스의 null 값을 자연스럽게 처리할 수 있습니다.
- 옵셔널 데이터 처리: 함수나 메서드의 결과가 '없음'을 의미할 수 있을 때 널러블 타입을 사용하여 이를 표현할 수 있습니다. 이는 선택적인 값이 필요한 다양한 상황에서 유용합니다.
예제 코드
using System; using System.Reflection; class Program { static void Main(string[] args) { int? nullableInt = null; double? nullableDouble = null; bool? nullableBool = null; int? num = null; // 널러블 타입의 선언 및 초기화 if (num.HasValue) { Console.WriteLine(num.Value); // 값이 존재할 경우, 값을 출력 } else { Console.WriteLine("num is null"); // 값이 null인 경우, 메시지 출력 } //출력 // num is null } }
결론
널러블 타입은 C# 프로그래밍에서 특정 상황에서 값 타입이 null을 가질 수 있게 하여 유연성을 제공합니다. 데이터베이스 작업이나 선택적인 값 처리에 있어서 매우 유용하게 사용될 수 있습니다. 하지만 null 값의 사용은 프로그램 로직에 주의를 기울여야 하며, HasValue와 Value 속성을 적절히 사용하여 예외가 발생하지 않도록 관리해야 합니다.
반응형다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드
받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이
감지되어도 모달 창이 표시되지 않습니다.)