Maison >développement back-end >C++ >Qu'est-ce que l'opérateur de coalescence C # NULL (??)?
En programmation C #, vous avez peut-être rencontré un code mystérieux:
Cette ligne de code contient un ensemble de points d'interdiction doubles frappants "??", ce qui a provoqué la curiosité des gens. Sont-ils une nouvelle forme d'un symbole informatique ternaire?
<code class="language-csharp">FormsAuth = formsAuth ?? new FormsAuthenticationWrapper();</code>
a dévoilé le symbole d'opération de fusion vide
La réponse réside dans le concept de fusion d'air (??). Semblable au caractère opérationnel de Sanyuan (immédiatement si), l'opérateur de fusion d'air fournit une méthode simple pour évaluer si la valeur est vide.
développer l'expression
Développez l'expression ci-dessus et obtenez les éléments logiques équivalents suivants:
se développent davantage dans un format plus familier:
<code class="language-csharp">FormsAuth = formsAuth != null ? formsAuth : new FormsAuthenticationWrapper();</code>signification et utilisation
<code class="language-csharp">if (formsAuth != null) FormsAuth = formsAuth; else FormsAuth = new FormsAuthenticationWrapper();</code>Essentiellement, si la valeur à gauche n'est pas vide, la valeur de l'opérateur de fusion d'air est la valeur à gauche. Sinon, il est silencieux comme valeur à droite. En d'autres termes, "Si la valeur à gauche n'est pas vide, utilisez-la; sinon, utilisez la valeur à droite."
Cet opérateur est particulièrement utile pour utiliser les variables d'initialisation de valeur par défaut pour s'assurer qu'elles restent non empty lors de l'exécution du programme. Il peut également être utilisé afin d'utiliser plusieurs opérateurs de fusion d'air pour assurer la première affectation de valeur non empty. Détails qui méritent d'être notés
Bien que le concept soit équivalent à l'expansion de ce qui précède, il faut noter que l'opérateur de fusion d'air évalue une seule expression. Ceci est particulièrement important si l'une des expressions impliquant la méthode des effets secondaires possibles.
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!