Maison >développement back-end >C++ >Que fait l'opérateur à double interdiction (??) en C #?

Que fait l'opérateur à double interdiction (??) en C #?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-29 07:54:12149parcourir

What Does the Double Question Mark (??) Operator Do in C#?

Double signe de question (??) La signification de l'opérateur de l'opérateur

dans la ligne de code suivante:

Deux points d'interrogation (??) représentent un opérateur de fusion d'air. Contrairement à l'opérateur ternaire, l'opérateur de fusion d'air exécute l'affectation conditionnelle, et non les conditions d'exécution.
<code class="language-csharp">FormsAuth = formsAuth ?? new FormsAuthenticationWrapper();</code>

spécifiquement, l'expression

équivalent à:

formsAuth ?? new FormsAuthenticationWrapper()

Cette condition est attribuée:
<code class="language-csharp">FormsAuth = formsAuth != null ? formsAuth : new FormsAuthenticationWrapper();</code>

Si n'est pas nul, il l'a attribue à
    .
  • formsAuth Si est nul, la nouvelle instance de FormsAuth est affectée à
  • .
  • formsAuth FormsAuthenticationWrapper En bref, cela signifie "Si FormsAuth n'est pas nul, utilisez
  • ; sinon, créez une nouvelle instance
".

formsAuth Contrairement aux symboles informatiques ternaires, l'opérateur de fusion d'air n'évalue son expression qu'une seule fois. Par conséquent, si est appelé par des effets secondaires, ses effets secondaires ne déclencheront qu'une seule fois. formsAuth FormsAuthenticationWrapper Afin d'expliquer davantage, les expressions suivantes attribueront la première réponse non empty pour répondre. Si toutes les réponses sont nuls, la réponse restera nulle:

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn