Créer un type Nullable dans le Concepteur de classes
Certains types valeur n’ont pas, ou n’ont pas besoin d’avoir, systématiquement une valeur définie. Il s’agit d’une pratique courante dans les bases de données, où certains champs peuvent ne se voir assigner aucune valeur. Par exemple, vous pouvez assigner une valeur null à un champ de base de données, qu’il conservera jusqu’à ce qu’une valeur lui soit affectée.
Un type Nullable est un type de valeur que vous étendez afin qu’il accepte la plage ordinaire de valeurs de ce type, ainsi qu’une valeur null. Par exemple, un type Nullable Int32
, également appelé Nullable<Int32>>, peut se voir assigner n’importe quelle valeur entre -2147483648 et 2147483647, ou une valeur null. Un type Nullable<bool> peut se voir assigner les valeurs True
, False
ou null (aucune valeur).
Les types Nullable sont des instances de la structure Nullable<T>. Chaque instance d’un type Nullable a deux propriétés publiques en lecture seule, HasValue
et Value
:
HasValue
est de typebool
et indique si la variable contient une valeur définie.True
signifie que la variable contient une valeur non null. Vous pouvez tester l’existence d’une valeur définie en utilisant une instruction telle queif (x.HasValue)
ouif (y != null)
.Value
est du même type que le type sous-jacent. SiHasValue
estTrue
,Value
contient une valeur significative. SiHasValue
estFalse
, l’accès àValue
lève une exception d’opération non valide.
Par défaut, quand vous déclarez une variable en tant que type Nullable, elle n’a aucune valeur définie (HasValue
est False
), autre que la valeur par défaut de son type valeur sous-jacent.
Le Concepteur de classes affiche un type Nullable à l’image de son type sous-jacent.
Pour plus d’informations sur les types Nullable dans C#, consultez Types Nullable. Pour plus d’informations sur les types Nullable dans Visual Basic, consultez Types valeur Nullable.
Notes
Dans cet article, il est possible que votre ordinateur affiche des noms ou des emplacements différents pour certains éléments de l’interface utilisateur Visual Studio. Vous utilisez peut-être une autre édition de Visual Studio ou d'autres paramètres d'environnement. Pour plus d’informations, consultez Personnaliser l’IDE.
Pour ajouter un type Nullable à l’aide du Concepteur de classes
Dans le diagramme de classes, développez une classe existante ou créez une classe.
Pour ajouter une classe au projet, dans le menu Diagramme de classes, cliquez sur Ajouter>Ajouter une classe.
Pour développer la forme de classe, dans le menu Diagramme de classes, cliquez sur Développer.
Sélectionnez la forme de classe. Dans le menu Diagramme de classes, cliquez sur Ajouter>Champ. Un nouveau champ qui porte le nom par défaut Champ apparaît dans la forme de classe, ainsi que dans la fenêtre Détails de classe.
Dans la colonne Nom de la fenêtre Détails de classe (ou dans la classe de forme elle-même), remplacez le nom du nouveau champ par un nom valide et explicite.
Dans la colonne Type de la fenêtre Détails de classe, déclarez le type comme type Nullable en spécifiant ce qui suit :
int?
(Visual C#)Nullable(Of Integer)
(Visual Basic)
Pour ajouter un type Nullable à l’aide de l’éditeur de code
Ajoutez une classe au projet. Sélectionnez le nœud du projet dans l’Explorateur de solutions, puis, dans le menu Projet, cliquez sur Ajouter une classe.
Dans le fichier .cs ou .vb pour la nouvelle classe, ajoutez un ou plusieurs types Nullable dans la nouvelle classe à la déclaration de classe.
À partir de l’affichage de classes, faites glisser l’icône de la nouvelle classe vers l’aire de conception du Concepteur de classes. Une forme de classe apparaît dans le diagramme de classes.
Développez les détails de la forme de classe et déplacez le pointeur de la souris sur les membres de classe. L’info-bulle affiche la déclaration de chaque membre.
Cliquez avec le bouton droit sur la forme de classe, puis cliquez sur Détails de classe. Vous pouvez afficher ou modifier les propriétés du nouveau type dans la fenêtre Détails de classe.