
A l'image de Groovy, l'opérateur «?.» fait son entrée
C#, l'un des nombreux apports de Microsoft au développement informatique, figure actuellement parmi les langages les plus populaires selon l'index TIOBE, nul doute que son succès est dû au succès conjoint des systèmes d'exploitation Microsoft et de la plate-forme .Net, toutefois il demeure possible que son succès soit relatif à son équipe de développement qui reste à l'écoute de sa communauté et met à sa disposition un système de retour d'expérience (FeedBack) tel que www.uservoice.com.
C'est ainsi donc qu'il a été décidé d'introduire le nouvel opérateur «?.» au langage C#, après que cette suggestion ait perçu plus de 4.313 votes favorables. Appelé aussi en anglais Safe Navigation Operator, l'opérateur «?.» permet de vérifier si la référence à un membre d'une classe est égale à Null au lieu de générer une exception de type NullReferenceException, économisant par la même occasion plusieurs lignes de code au programmeur.
La force de l'opérateur prend tout son sens, lorsqu'il s'agit d'une référence à un membre d'une classe, qui est membre d'une autre classe et ainsi de suite, dans ce genre de situation il s’avère plus difficile de détecter l'origine de l'exception, un exemple vaut mieux qu'un long discours, considérant ce qui suit :
Code : | Sélectionner tout |
var g1 = parent.child.child.child;
Code : | Sélectionner tout |
var g1 = [parent].[child].[null].child;
L'utilisation du nouvel opérateur permet d'assigner la valeur Null à la variable, dans le cas où une des références vaut Null :
Code : | Sélectionner tout |
1 2 | var g1 = parent?.child?.child?.child; if (g1 != null) // TODO |
Code : | Sélectionner tout |
1 2 3 4 5 | var item = this.Parent; item = (item == null) ? null : item.child; item = (item == null) ? null : item.child; var g1 = (parent == null) ? null : item.child; if (g1 != null) // TODO |
Source : Annonce sur MSDN
Et vous ?


Vous avez lu gratuitement 11 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.