L'opérateur de coalescence nulle en c # vous permet de raccourcir le code
if (_mywidget == null)
return new Widget();
else
return _mywidget;
Jusqu'à:
return _mywidget ?? new Widget();
Je continue de trouver qu'un opérateur utile que j'aimerais avoir en C # serait celui qui vous permettrait de renvoyer une propriété d'un objet, ou une autre valeur si l'objet est nul. Je voudrais donc remplacer
if (_mywidget == null)
return 5;
else
return _mywidget.Length;
Avec:
return _mywidget.Length ??! 5;
Je ne peux m'empêcher de penser qu'il doit y avoir une raison pour que cet opérateur n'existe pas. Est-ce une odeur de code? Y a-t-il une meilleure façon d'écrire cela? (Je connais le modèle d'objet nul mais il semble exagéré de l'utiliser pour remplacer ces quatre lignes de code.)
??!
est un opérateur en C ++. :-)