Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article fournit des remarques supplémentaires à la documentation de référence de cette API.
La Nullable classe prend en charge les types valeur qui peuvent être affectés null
.
Un type est dit nullable s’il peut être affecté à une valeur ou peut être affecté null
, ce qui signifie que le type n’a aucune valeur. Par défaut, tous les types de référence, tels que String, sont nullables, mais tous les types valeur, tels que Int32, ne sont pas.
Dans C# et Visual Basic, vous marquez un type valeur comme nullable à l’aide de la ?
notation après le type valeur. Par exemple, int?
en C# ou Integer?
en Visual Basic déclare un type de valeur entière qui peut être affecté null
.
La Nullable classe fournit une prise en charge complémentaire de la Nullable<T> structure. La Nullable classe prend en charge l’obtention du type sous-jacent d’un type Nullable, ainsi que les opérations de comparaison et d’égalité sur les paires de types nullables dont le type valeur sous-jacent ne prend pas en charge les opérations de comparaison et d’égalité génériques.
Boxing et unboxing (encapsulation et désencapsulation)
Lorsqu’un type Nullable est boxé, le Common Language Runtime boxe automatiquement la valeur sous-jacente de l’objet Nullable<T> , et non l’objet Nullable<T> lui-même. Autrement dit, si la HasValue propriété est true
, le contenu de la Value propriété est boxé.
Si la propriété HasValue
d’un type nullable est false
, le résultat de l’opération de boxing est null
. Lorsque la valeur sous-jacente d’un type nullable est déboxée, le Common Language Runtime crée une nouvelle structure Nullable<T> initialisée avec la valeur sous-jacente.