Maison > développement back-end > C++ > Qu'est-ce que l'opérateur coalescinant C # NULL (??) et comment fonctionne-t-il?

Qu'est-ce que l'opérateur coalescinant C # NULL (??) et comment fonctionne-t-il?

DDD
Libérer: 2025-01-29 08:15:10
original
347 Les gens l'ont consulté

What is the C# Null Coalescing Operator (??) and How Does it Work?

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion
Vous pouvez relier plusieurs informations sur la fusion d'air pour vérifier la valeur vide à tour de rôle. Par exemple:

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal