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# ?

WBOY
WBOYavant
2023-09-11 19:25:02925parcourir

两个问号在一起 (??) 在 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);
      }
   }
}

Sortie

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

Value2: 99
The value of result message is: Null Coalescing

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer