C# Nullable<T>

2023. 5. 14. 22:30·C#
반응형

소개

C#에서 nullable은 값 형식의 null 값을 표현하기 위한 개념입니다. 이번 글에서는 C# nullable에 대해 자세히 알아보고, 내장 메서드와 프로퍼티를 설명하고 사용 방법을 알아보겠습니다.

Nullable이란?

C#에서 값 형식은 null 값을 가질 수 없습니다. 그러나 nullable은 값 형식의 null 값을 표현할 수 있도록 합니다. nullable은 값 형식에 대한 래퍼(Wrapper) 클래스를 제공합니다. 이 래퍼 클래스는 값 형식의 null 값을 표현할 수 있습니다.

Nullable 사용 방법

nullable은 값 형식 변수 뒤에 물음표(?)를 붙여서 사용합니다. 다음은 int 형식의 nullable 변수 선언과 초기화의 예입니다.

int? nullableInt = null;
Nullable<int> nullableInt2 = null;

위의 예제에서 nullableInt 변수와 nullableInt2는 int형식의 nullable 변수로 선언되었습니다. 이 변수는 null 값을 가질 수 있습니다.

내장 메서드와 프로퍼티

nullable은 내장 메서드와 프로퍼티를 제공합니다. 이를 통해 nullable 변수를 조작할 수 있습니다.

GetValueOrDefault()

GetValueOrDefault() 메서드는 nullable 변수의 값을 반환하거나, null 일 경우 기본값(default)을 반환합니다.

int? nullableInt = null;
int result = nullableInt.GetValueOrDefault();

위의 예제에서 nullableInt 변수는 null 값을 가지고 있습니다. GetValueOrDefault() 메서드는 이 변수의 값을 반환하지 않고, int형식의 기본값인 0을 반환합니다.

HasValue

HasValue 프로퍼티는 nullable 변수가 null 값을 가지고 있는지 여부를 반환합니다.

int? nullableInt = null;
bool hasValue = nullableInt.HasValue;

위의 예제에서 hasValue 변수는 false 값을 가집니다. nullableInt 변수는 null 값을 가지고 있기 때문입니다.

Value

Value 프로퍼티는 nullable 변수의 값을 반환합니다. 이 값은 null이 아니어야 합니다.

int? nullableInt = null;
int result = nullableInt.Value;

위의 예제에서 nullableInt 변수는 null 값을 가지고 있습니다. Value 프로퍼티는 null 값을 반환하지 않고, 예외를 발생시킵니다.

결론

C# nullable은 값 형식의 null 값을 표현하기 위한 개념입니다. nullable을 사용하면 값 형식 변수에 null 값을 할당할 수 있습니다. 또한, nullable은 내장 메서드와 프로퍼티를 제공하여 nullable 변수를 조작할 수 있습니다. 이번 글을 통해 C# nullable에 대해 자세히 살펴보았습니다.

저작자표시 비영리 변경금지 (새창열림)

'C#' 카테고리의 다른 글

이진탐색 알고리즘  (0) 2023.05.18
C# DateTime  (0) 2023.05.16
C#의 #region 지시어  (0) 2023.05.08
객체지향의 5대 원칙 SOLID : Dependency Inversion Principle  (1) 2023.05.01
객체지향의 5대 원칙 SOLID : Interface Segregation Principle  (0) 2023.04.30
'C#' 카테고리의 다른 글
  • 이진탐색 알고리즘
  • C# DateTime
  • C#의 #region 지시어
  • 객체지향의 5대 원칙 SOLID : Dependency Inversion Principle
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (725)
      • 스마트팜 (0)
      • 상품 추천 (223)
      • MongoDB (4)
      • 하드웨어 (17)
      • 일기장 (4)
      • 파이썬 (130)
        • Basic (41)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (51)
        • CSS (10)
      • Git (11)
      • SQL (5)
      • Flutter (10)
        • Tip (1)
      • System (1)
      • BaekJoon (6)
      • Portfolio (2)
      • MacOS (1)
      • 유틸리티 (1)
      • 서비스 (6)
      • 자동화 (3)
      • Hobby (10)
        • 물생활 (10)
        • 식집사 (0)
  • 인기 글

  • 태그

    rtsp
    쇼핑몰리뷰
    리스트
    긴유통기한우유
    믈레코비타멸균우유
    스마트스토어리뷰
    cv2
    카페24리뷰이관
    list
    유니티
    codingcommunity
    unity
    Python
    learntocode
    devlife
    appdevelopment
    상품 리뷰 크롤링
    스크립트 실행
    C#
    리뷰이관
    셀레니움
    codingtips
    programming101
    programmerlife
    스크립트 실행 순서
    파이썬
    ipcamera
    라떼우유
    카페24리뷰
    리뷰관리
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
C# Nullable<T>
상단으로

티스토리툴바