|
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
|
Traduction
Source
|
Types Nullable (Guide de programmation C#)
class NullableExample { static void Main() { int? num = null; if (num.HasValue == true) { System.Console.WriteLine("num = " + num.Value); } else { System.Console.WriteLine("num = Null"); } // y is set to zero int y = num.GetValueOrDefault(); // num.Value throws an InvalidOperationException if num.HasValue is false try { y = num.Value; } catch (System.InvalidOperationException e) { System.Console.WriteLine(e.Message); } } }
num = Null
Nullable object must have a value.
-
Les types Nullable représentent des variables de type valeur auxquelles vous pouvez assigner la valeur null. Vous ne pouvez pas créer de type Nullable sur la base d'un type référence. (Les types référence prennent déjà en charge la valeur null.) -
La syntaxe T? est le format abrégé de Nullable<T>, où T est un type valeur. Les deux formats sont interchangeables. -
Assignez une valeur à un type Nullable comme pour un type valeur ordinaire, par exemple int? x = 10; ou double? d = 4.108. Un type Nullable peut également être se voir assigner a valeur null : int? x = null. -
Utilisez la méthode Nullable<T>.GetValueOrDefault pour retourner la valeur assignée ou la valeur par défaut pour le type sous-jacent si la valeur est null, par exemple int j = x.GetValueOrDefault(); -
Utilisez les propriétés en lecture seule HasValue et Value pour rechercher une valeur Null et la récupérer, comme indiqué dans l'exemple suivant : if(x.HasValue) j = x.Value; -
La propriété HasValue retourne true si la variable contient une valeur ou false si c'est null. -
La propriété Value retourne une valeur si une valeur est assignée. Sinon, System.InvalidOperationException est levé. -
La valeur par défaut de HasValue est false. La propriété Value n'a pas de valeur par défaut. -
Vous pouvez également utiliser les opérateurs == et != avec un type Nullable, comme indiqué dans l'exemple suivant : if (x != null) y = x;
-
-
Utilisez l'opérateur ?? pour assigner une valeur par défaut qui sera appliquée lorsqu'un type Nullable dont la valeur actuelle est null est assigné à un type non Nullable, par exemple int? x = null; int y = x ?? -1; -
Les types Nullable imbriqués ne sont pas autorisés. La ligne suivante ne sera pas compilée : Nullable<Nullable<int>> n;
Pour plus d'informations, consultez la Spécification du langage C#. La spécification du langage est la source de référence pour la syntaxe C# et son utilisation.