Exporter (0) Imprimer
Développer tout

??, opérateur (Référence C#)

L'opérateur ?? retourne l'opérande de gauche si celui-ci n'est pas nul, sinon il retourne l'opérande de droite.

Un type nullable peut contenir une valeur ou être indéfini. L'opérateur ?? définit la valeur par défaut à retourner lorsqu'un type nullable est affecté à un type non-nullable. Si vous essayez d'affecter un type nullable à un type non-nullable sans utiliser l'opérateur ??, vous générerez une erreur de compilation. Si vous utilisez un cast et si le type nullable est actuellement indéfini, une exception InvalidOperationException sera levée.

Pour plus d'informations, consultez Types nullables (Guide de programmation 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");
    }
}

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft