Le symbole de l'opération de fusion vide dans le C #: Le mystère du double point d'interrogation
Dans le domaine de la programmation C #, vous pouvez rencontrer une syntaxe spéciale contenant deux marques de questions ("??"). Ce symbole mystérieux est appelé informatique de la fusion d'air, qui vaut la peine d'étudier attentivement.
Symbole opérationnel de fusion de l'air: Présentation
La fonction de la fusion d'air (représentée par "??" est similaire à l'opérateur de trois yuans (immédiatement si). Il vous permet de simplement spécifier la valeur de réserve utilisée sur le résultat du calcul d'expression gauche.
Exemples de contexte
Considérez le fragment de code suivant:
Ici, le caractère de calcul de fusion vide est utilisé pour définir la valeur de la variable de forme sur FormsAuth (s'il n'est pas vide) ou une nouvelle instance FormsAuthenticationWrapper (si FormsAuth est vide).L'énoncé conditionnel de l'extension est équivalent
<code class="language-csharp">FormsAuth = formsAuth ?? new FormsAuthenticationWrapper();</code>
Afin de mieux comprendre le comportement de l'opérateur de fusion d'air, nous pouvons l'étendre en une déclaration conditionnelle équivalente:
Simplifiez encore
Cette déclaration de condition peut être écrite davantage:
<code class="language-csharp">FormsAuth = formsAuth != null ? formsAuth : new FormsAuthenticationWrapper();</code>
Par conséquent, le caractère informatique de la fusion d'air est essentiellement un raccourci de l'instruction IF-Art S, qui fournit un moyen simple de spécifier la valeur de sauvegarde.
Classe Symbole de fonctionnement de fusion de l'air conjoint
<code class="language-csharp">if (formsAuth != null) FormsAuth = formsAuth; else FormsAuth = new FormsAuthenticationWrapper();</code>
Cette instruction attribue le premier # de réponse non empty pour répondre à la variable. Si toutes les valeurs de réponse sont vides, la variable de réponse est maintenue vide. Précautions de performance
Il convient de noter que l'opérateur de fusion d'air n'évalue que son expression une seule fois, qu'ils soient vrais ou faux. Cela peut être bénéfique lorsque l'une des expressions a des effets secondaires.
<code class="language-csharp">string Answer = Answer1 ?? Answer2 ?? Answer3 ?? Answer4;</code>
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!