C# – Nullables
C# fournit un type de données spécial, le nullable types, auxquels vous pouvez attribuer une plage normale de valeurs ainsi que des valeurs nulles.
Par exemple, vous pouvez stocker n'importe quelle valeur comprise entre -2 147 483 648 et 2 147 483 647 ou null dans une variable Nullable
< data_type> ? <variable_name> = null;
L'exemple suivant illustre l'utilisation de types de données nullables −
Démo en directusing System; namespace CalculatorApplication { class NullablesAtShow { static void Main(string[] args) { int? num1 = null; int? num2 = 45; double? num3 = new double?(); double? num4 = 3.14157; bool? boolval = new bool?(); // display the values Console.WriteLine("Nullables at Show: {0}, {1}, {2}, {3}", num1, num2, num3, num4); Console.WriteLine("A Nullable boolean value: {0}", boolval); Console.ReadLine(); } } }
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant −
Nullables at Show: , 45, , 3.14157 A Nullable boolean value:
L'opérateur de coalescence nulle (??)
L'opérateur de coalescence null est utilisé avec les types valeur nullable et les types référence. Il est utilisé pour convertir un opérande en type d'un autre opérande de type valeur nullable (ou non), où une conversion implicite est possible.
Si la valeur du premier opérande est nulle, alors l'opérateur renvoie la valeur du deuxième opérande, sinon il renvoie la valeur du premier opérande. L'exemple suivant explique cela −
Démo en directusing System; namespace CalculatorApplication { class NullablesAtShow { static void Main(string[] args) { double? num1 = null; double? num2 = 3.14157; double num3; num3 = num1 ?? 5.34; Console.WriteLine(" Value of num3: {0}", num3); num3 = num2 ?? 5.34; Console.WriteLine(" Value of num3: {0}", num3); Console.ReadLine(); } } }
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant −
Value of num3: 5.34 Value of num3: 3.14157
Langue C