Maison >développement back-end >C++ >Que fait l'opérateur «?

Que fait l'opérateur «?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-29 07:41:09198parcourir

C# Null Coalescing Operator (??)

Le rôle de la fusion d'air (??) de la fusion d'air (??)

c #, "??", c'est-à-dire que l'opérateur de fusion vide fournit un moyen simple d'attribuer une valeur non empty à la variable. Considérez l'exemple de code suivant:

Ici, le caractère de fonctionnement de la fusion d'air est utilisé pour attribuer une valeur en fonction des conditions suivantes:
<code class="language-csharp">FormsAuth = formsAuth ?? new FormsAuthenticationWrapper();</code>

FormsAuth En d'autres termes, si

n'est pas vide, il est affecté à
<code class="language-csharp">FormsAuth = formsAuth != null ? formsAuth : new FormsAuthenticationWrapper();</code>
; Cela équivaut aux déclarations conditionnelles suivantes:

formsAuth FormsAuth Cette structure est particulièrement utile lorsqu'elle est nécessaire pour s'assurer que la variable est attribuée avant utilisation. Il fournit une alternative plus concise et efficace que d'utiliser des instructions conditionnelles. FormsAuthenticationWrapper FormsAuth Il convient de noter que plusieurs opérateurs de fusion d'air peuvent être utilisés en continu. Par exemple:

<code class="language-csharp">if(formsAuth != null)
    FormsAuth = formsAuth;
else
    FormsAuth = new FormsAuthenticationWrapper();</code>

Dans cet exemple, la variable

sera attribuée à la première valeur non-empty

. Si toutes les valeurs sont vides,

restera vide.
<code class="language-csharp">string Answer = Answer1 ?? Answer2 ?? Answer3 ?? Answer4;</code>

De plus, il convient de souligner que bien que l'expansion de l'opérateur de fusion d'air soit équivalente en conceptual, chaque expression ne sera évaluée qu'une seule fois. Ceci est très important lorsque l'expression implique la méthode des effets secondaires. Answer

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