Udostępnij za pośrednictwem


?? Operator (C# odniesienia)

?? operator jest nazywany odbiorczego null operator i jest używany do definiowania wartość domyślna dla typów wartości null lub odwołać typów. Zwraca wartość po lewej stronie operatora, jeżeli operator nie jest równa null; w przeciwnym razie zwraca prawy operand.

Uwagi

typ dopuszczający wartość null może zawierać wartość, lub może być niezdefiniowana.?? operator Określa wartość domyślna mają być zwrócone, gdy typ dopuszczający wartość null jest przypisany do innego niż-typ dopuszczający wartość null. Podczas próby przypisać nullable typ wartości -null typ wartości bez korzystania z ?? operatorspowoduje wygenerowanie kompilować-błąd czasu. Jeśli używasz rzutowania, i typ wartości NULL jest obecnie niezdefiniowane, InvalidOperationExceptionwygeneruje wyjątek .

Aby uzyskać więcej informacji, zobacz Typy Nullable (Podręcznik programowania C#).

Wynik??operator nie uznaje się za stałą, nawet jeżeli zarówno jej argumenty są stałe.

Przykład

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");
    }
}

Zobacz też

Informacje

Operatory języka C#

Typy Nullable (Podręcznik programowania C#)

Koncepcje

Podręcznik programowania C#

Inne zasoby

C# odniesienia

Jakie dokładnie jest "Zniesione" oznacza?