Maison > Article > développement back-end > Quels opérateurs C# fournit-il pour gérer les valeurs nulles ?
C# a les trois opérateurs suivants pour gérer les valeurs nulles -
vous permet d'obtenir la valeur d'une variable si elle n'est pas nulle, ou de spécifier une valeur par défaut qui peut être utilisé.
Il remplace l'expression suivante -
string resultOne = value != null ? value : "default_value";
en C# par l'expression suivante -
string resultTwo = value ?? "default_value";
Voici un exemple illustrant cela.
Exemple
using System; class Program{ static void Main(){ string input = null; string choice = input ?? "default_choice"; Console.WriteLine(choice); // default_choice string finalChoice = choice ?? "not_chosen"; Console.WriteLine(finalChoice); // default_choice } }
Renvoie la valeur à gauche si elle n'est pas nulle. Sinon, il renvoie la valeur de droite. En d'autres termes, cela vous permet d'initialiser une variable avec une valeur par défaut si sa valeur actuelle est nulle.
Il remplace l'expression suivante en C# -
if (result == null) result = "default_value";
Utilisez l'expression suivante.
result ??= "default_value";
Cet opérateur est utile pour les propriétés calculées paresseusement. Par exemple -
Exemple
class Tax{ private Report _lengthyReport; public Report LengthyReport => _lengthyReport ??= CalculateLengthyReport(); private Report CalculateLengthyReport(){ return new Report(); } }
Cet opérateur vous permet d'appeler en toute sécurité des méthodes sur une instance. Si l'instance est nulle, renvoyez null au lieu de lancer une NullReferenceException. Sinon, il appelle simplement la méthode.
Il remplace l'expression suivante -
string result = instance == null ? null : instance.Method();
en C# par l'expression suivante -
string result = instance?.Method();
Considérez l'exemple suivant.
Exemple
using System; string input = null; string result = input?.ToString(); Console.WriteLine(result); // prints nothing (null)
Démonstration en temps réel
using System; class Program{ static void Main(){ string input = null; string choice = input ?? "default_choice"; Console.WriteLine(choice); // default_choice string finalChoice = choice ?? "not_chosen"; Console.WriteLine(finalChoice); // default_choice string foo = null; string answer = foo?.ToString(); Console.WriteLine(answer); // prints nothing (null) } }
default_choice default_choice
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!