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
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (730)
      • 스마트팜 (1)
      • 상품 추천 (223)
      • DataBase (0)
        • MongoDB (4)
        • PostgreSQL (0)
      • 하드웨어 (19)
      • 일기장 (4)
      • 파이썬 (131)
        • Basic (42)
        • 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 (5)
      • 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
    ipcamera
    스크립트 실행
    긴유통기한우유
    셀레니움
    리스트
    카페24리뷰
    카페24리뷰이관
    programmerlife
    learntocode
    list
    appdevelopment
    상품 리뷰 크롤링
    devlife
    리뷰이관
    스크립트 실행 순서
    programming101
    믈레코비타멸균우유
    cv2
    codingcommunity
    라떼우유
    쇼핑몰리뷰
    리뷰관리
    codingtips
    unity
    유니티
    C#
    파이썬
    Python
  • 최근 글

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

티스토리툴바