본문 바로가기

워크/C# 2.0

Nullable 타입

Nullable 타입은 기본 값 타입이 null 값을 가질 수 있도록 확장시켜 줍니다. 주로 데이터베이스 작업이나 값이 설정되지 않은 상황을 처리할 때 유용합니다.

다음은 Nullable 타입의 사용 예제입니다:

using System;

public class NullableExample
{
    public static void Main()
    {
        int? nullableInt = null; // Nullable<int>의 축약형입니다.
        double? nullableDouble = 3.14;

        Console.WriteLine($"nullableInt has value? {nullableInt.HasValue}");
        Console.WriteLine($"nullableDouble has value? {nullableDouble.HasValue}");
        
        if (nullableInt.HasValue)
        {
            Console.WriteLine($"Value of nullableInt: {nullableInt.Value}");
        }
        else
        {
            Console.WriteLine("nullableInt does not have a value.");
        }

        if (nullableDouble.HasValue)
        {
            Console.WriteLine($"Value of nullableDouble: {nullableDouble.Value}");
        }
        else
        {
            Console.WriteLine("nullableDouble does not have a value.");
        }

        // ?? 연산자를 사용하여 null 값일 경우의 기본값 설정
        int normalInt = nullableInt ?? 0;
        Console.WriteLine($"Value of normalInt (using ?? operator): {normalInt}");

        double normalDouble = nullableDouble ?? 0.0;
        Console.WriteLine($"Value of normalDouble (using ?? operator): {normalDouble}");
    }
}

위의 코드를 실행하면 아래와 같은 출력 결과를 볼 수 있습니다:

nullableInt has value? False
nullableDouble has value? True
nullableInt does not have a value.
Value of nullableDouble: 3.14
Value of normalInt (using ?? operator): 0
Value of normalDouble (using ?? operator): 3.14

이 예제에서는 int?double? 타입의 변수를 사용하여 Nullable 타입의 기본적인 특징을 보여주고 있습니다. Nullable 타입은 HasValueValue 속성을 제공하여 해당 변수가 값이 있는지 없는지, 그리고 그 값이 무엇인지를 알 수 있게 해줍니다. 또한, ?? 연산자를 사용하여 null인 경우 기본값을 설정할 수 있습니다.

'워크 > C# 2.0' 카테고리의 다른 글

고정 크기 버퍼 (Fixed Size Buffers)  (0) 2023.08.25
반복자 (Iterators)  (0) 2023.08.25
익명 메서드 (Anonymous Methods)  (0) 2023.08.25
제네릭 (Generics)  (0) 2023.08.25
C# 2.0의 주요 특징  (0) 2023.08.25