Une variable de type nullable peut contenir toutes les valeurs possibles correspondant à son type, ainsi qu’une valeur additionnelle null. Ce problème résout entre autres le problème que vous pouviez rencontrer en travaillant avec des bases de données qui contenaient des variables null que vous ne pouviez “caster” correctement.

Prenons l’exemple le plus simple d’un entier (Integer) qui ne pouvait avec le Fx 1.1, être null.

int? monEntier = null;

Vous remarquez donc le caractère “?” à droite du type de l’objet que vous voulez nullable.

L’objet nullable se voit étendu de deux propriétés: HasValue qui retourne un booléen et Value qui retourne la valeur de l’objet. Ainsi, vous pouvez dorénavant tester la valeur d’un entier proprement:

if (monEntier.HasValue)
MessageBox.Show(”Valeur: ” + monEntier.Value);
else MessageBox.Show(”Valeur: nulle”);