Distinguer "x est nul" de "x == null" en C# 7
C# 7 introduit l'opérateur "x est nul" comme alternative à "x == null". Bien que le nouvel opérateur puisse sembler être une simple variation syntaxique, il existe des différences subtiles entre les deux qui ont un impact sur le moment et la manière dont ils doivent être utilisés.
La sémantique est-elle différente ?
Non. La sémantique de « x is null » et « x == null » est identique pour les comparaisons nulles. Cependant, l'opérateur « x est nul » prend en compte le type lors de la comparaison avec les constantes. Cela peut entraîner un comportement différent par rapport à "x == null" lors de la comparaison avec des types personnalisés qui surchargent l'opérateur d'égalité.
Implications sur les performances
Dans les versions précédentes du compilateur Roslyn , "x == null" était plus rapide que "x is null". Cependant, les optimisations du dernier compilateur Roslyn ont rendu les deux opérateurs tout aussi efficaces lorsqu'il n'y a pas d'opérateur d'égalité surchargé.
Décider quel opérateur utiliser
Le choix entre " x est nul" et "x == null" dépend du scénario spécifique :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!