??, l’opérateur de fusion null
L’opérateur ?? s’emploie comme un if ternaire, pour dire : Si l’opérande précédent n’est pas null, on l’utilise, sinon on utilise une autre valeur. Il s’emploie comme ceci :
string chaineNull = null ;
string resultat = chaineNull ?? « nulle » ;
// resultat contient « nulle »
?, l’opérateur Elvis
? est l’opérateur conditionnel null, aussi appelé « opérateur Elvis ». Il permet d’appeler une méthode ou d’accéder à un membre d’un objet null sans lever d’exception NullReferenceException, mais en évaluant le résultat à null.
string chaineNull = null ;
string resultatElvis = chaineNull?.ToUpper();
// Pas d’exception levée