• 티스토리 홈
  • 프로필사진
    유니얼
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
유니얼
  • 프로필사진
    유니얼
    • 분류 전체보기 (295)
      • Unity (17)
        • 게임 개발 (5)
      • Unreal (24)
        • 게임 개발 (20)
      • DirectX (36)
      • 코딩테스트 (91)
        • 프로그래머스 (25)
        • 백준 (66)
      • Google Workspace (1)
      • Programing (102)
        • C# (68)
        • C++ (24)
        • JavaScript (10)
      • 게임 서버 프로그래밍 (17)
      • Web (6)
        • 슈퍼코딩 (6)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
    등록된 댓글이 없습니다.
  • 최근 공지
    등록된 공지가 없습니다.
# Home
# 공지사항
#
# 태그
# 검색결과
# 방명록
  • 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 예외가 발생합니다.

    널러블 타입의 사용 이유

    1. 데이터베이스와의 상호작용: 데이터베이스에서는 종종 값이 '없음' 또는 '알 수 없음'을 나타내기 위해 null을 사용합니다. 널러블 타입을 사용하면 데이터베이스의 null 값을 자연스럽게 처리할 수 있습니다.
    2. 옵셔널 데이터 처리: 함수나 메서드의 결과가 '없음'을 의미할 수 있을 때 널러블 타입을 사용하여 이를 표현할 수 있습니다. 이는 선택적인 값이 필요한 다양한 상황에서 유용합니다.

    예제 코드

    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일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
목차
표시할 목차가 없습니다.
    • 안녕하세요
    • 감사해요
    • 잘있어요

    티스토리툴바