Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

?? Opérateur (référence C#)

L'opérateur ?? est appelé l'l'opérateur de fusion Null. Il retourne l'opérande de partie gauche si ce dernier n'est pas Null ; dans le cas contraire, il retourne l'opérande de partie droite.

Un type Nullable peut représenter une valeur à partir du domaine du type, ou la valeur peut être non définie (auquel cas la valeur est Null). Utilisez la simplicité de syntaxe de l'opérateur ?? pour retourner une valeur appropriée (l'opérande de partie droite) si l'opérande de partie gauche a un type Nullable dont la valeur est Null. Si vous essayez d'assigner un type valeur Nullable à un type valeur non Nullable sans utiliser l'opérateur ??, vous générez une erreur au moment de la compilation. Si vous utilisez un cast et si le type valeur Nullable est actuellement non défini, une exception InvalidOperationException est levée.

Pour plus d'informations, consultez Types Nullable (Guide de programmation C#).

Le résultat d'un opérateur ?? n'est pas interprété comme une constante même si ses deux arguments sont des constantes.


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

    static string GetStringValue()
    {
        return null;
    }

    static void Main()
    {
        int? x = null;

        // Set y to the value of x if x is NOT null; otherwise,
        // if x = null, set y to -1.
        int y = x ?? -1;

        // Assign i to return value of the method if the method's result
        // is NOT null; otherwise, if the result is null, set i to the
        // default value of int.
        int i = GetNullableInt() ?? default(int);

        string s = GetStringValue();
        // Display the value of s if s is NOT null; otherwise, 
        // display the string "Unspecified".
        Console.WriteLine(s ?? "Unspecified");
    }
}


Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft