Exportar (0) Imprimir
Expandir todo

Operador ?? (Referencia de C#)

El operador ?? devuelve el operando izquierdo si es not-null, en los demás casos devuelve el operando derecho.

Un tipo que acepta valores NULL puede contener un valor o puede ser indefinido. El operador ?? define el valor predeterminado para devolver cuando un tipo que acepta valores NULL se asigna a un tipo que no acepta valores NULL. Si intenta asignar un tipo que acepta valores NULL a un tipo que no acepta valores NULL sin utilizar el operador ??, se generará un error en tiempo de compilación. Si utiliza una conversión de tipos, y el tipo que acepta valores NULL se encuentra en ese momento indefinido, se producirá una excepción InvalidOperationException.

Para obtener más información, vea Tipos que aceptan valores NULL (Guía de programación de C#).

// nullable_type_operator.cs
using System;
class MainClass
{
    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");
    }
}

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft