다음을 통해 공유


?? 연산자(C# 참조)

??연산자는 null 결합연산자라고 하며 참조 형식 또는 nullable 값 형식에 대 한기본값을 정의 하는 데 사용 됩니다. 왼쪽의 반환 피연산자 피연산자가 null입니다;이 경우 그렇지 않은 경우 오른쪽 피연산자를 반환합니다.

설명

null 허용 형식은 값을 포함하거나, 정의되지 않은 상태일 수 있습니다.?? 연산자는 null 허용 형식이 null을 허용하지 않는 형식에 할당될 때 반환할 기본값을 정의합니다.?? 연산자를 사용하지 않고 null 허용 값 형식을 null을 허용하지 않는 값 형식에 할당하려고 하면 컴파일 타임 오류가 발생합니다.캐스트를 사용할 때 null 허용 값 형식이 현재 정의되어 있지 않으면 InvalidOperationException 예외가 throw됩니다.

자세한 내용은 nullable 형식(C# 프로그래밍 가이드)를 참조하십시오.

두 인수가 모두 상수인 경우에도?? 연산자의 결과는 상수가 될 수 없습니다.

예제

class NullCoalesce
{
    static int? GetNullableInt()
    {
        return null;
    }

    static string GetStringValue()
    {
        return null;
    }

    static void Main()
    {
        // ?? operator example.
        int? x = null;

        // y = x, unless x is null, in which case y = -1.
        int y = x ?? -1;

        // Assign i to return value of method, unless
        // return value is null, in which case assign
        // default value of int to i.
        int i = GetNullableInt() ?? default(int);

        string s = GetStringValue();
        // ?? also works with reference types. 
        // Display contents of s, unless s is null, 
        // in which case display "Unspecified".
        Console.WriteLine(s ?? "Unspecified");
    }
}

참고 항목

참조

C# 연산자

nullable 형식(C# 프로그래밍 가이드)

개념

C# 프로그래밍 가이드

기타 리소스

C# 참조

무엇 정확 하 게 '리프트'를 의미 하지?