Maison > développement back-end > Tutoriel C#.Net > Que signifient deux points d'interrogation ensemble (??) en C# ?

Que signifient deux points d'interrogation ensemble (??) en C# ?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2023-09-11 19:25:02
avant
988 Les gens l'ont consulté

两个问号在一起 (??) 在 C# 中意味着什么?

C'est l'opérateur coalescence nulle . L'opérateur de fusion nulle renvoie la valeur de son opérande gauche si l'opérande gauche n'est pas nul, sinon il évalue l'opérande droit et renvoie son résultat ; L'opérateur ?? n'évalue pas son opérande droit si l'opérande gauche est non nul.

Les types nullables peuvent représenter des valeurs indéfinies ou du domaine de type. Lorsque l'opérande de gauche a un type nullable, nous pouvons utiliser l'opérateur ?? pour renvoyer la valeur appropriée. Si nous essayons d'attribuer un type valeur nullable à un type valeur non nullable sans utiliser l'opérateur ??, nous obtiendrons une erreur de compilation et si nous forçons un cast, une InvalidOperationException sera levée.

Voici les avantages de l'opérateur Null-Coalescing (??) -

  • Il est utilisé pour définir des valeurs par défaut pour les éléments nullables (types de valeur et types de référence).

  • Il empêche InvalidOperationException au moment de l'exécution.

  • Cela nous aide à éliminer de nombreuses conditions « si » redondantes.

  • Cela fonctionne pour les types référence et les types valeur.

  • Le code devient organisé et lisible.

Exemple

Démonstration

using System;
namespace MyApplication{
   class Program{
      static void Main(string[] args){
         int? value1 = null;
         int value2 = value1 ?? 99;
         Console.WriteLine("Value2: " + value2);
         string testString = "Null Coalescing";
         string resultString = testString ?? "Original string is null";
         Console.WriteLine("The value of result message is: " + resultString);
      }
   }
}
Copier après la connexion

Sortie

La sortie de l'exemple ci-dessus est la suivante.

Value2: 99
The value of result message is: Null Coalescing
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!

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