Sdílet prostřednictvím


?? Operátor (C#-Reference)

?? operátor se nazývá null coalescing operátor a slouží k definování výchozí hodnota pro typy s možnou hodnotou Null hodnotu nebo odkazovat se . Vrátí levém operand Pokud operand není null. v opačném případě vrátí pravý operand.

Poznámky

typ s možnou hodnotou null může obsahovat hodnotu nebo může být definován.?? operátor definuje výchozí hodnota vrácených při než je přiřazen typ s možnou hodnotou null -typ s možnou hodnotou null. Pokud se pokusíte přiřadit Structure hodnota s možnou hodnotou Null hodnota bez použití ?? operátorbude generovat kompilovat- chyba. Pokud použijete osazení a hodnota s možnou hodnotou NULL je aktuálně definován InvalidOperationExceptionbude vyvolána výjimka .

Další informace naleznete v tématu Typy s možnou hodnotou Null (Příručka programování C#).

Výsledkem??operátor nepovažuje být konstanta, i když oba argumenty jsou konstanty.

Příklad

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

Viz také

Referenční dokumentace

Hospodářské subjekty C#

Typy s možnou hodnotou Null (Příručka programování C#)

Koncepty

Příručka programování C#

Další zdroje

C#-Reference

Co přesně se rozumí "zrušeno?