Maison > Article > développement back-end > Que signifient deux points d'interrogation ensemble (??) en 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.
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); } } }
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!