Dans .net 2.0, il existe un nouveau type nullable, qui peut être utilisé pour attribuer des valeurs nulles aux types de valeurs de base, tels que
int? k = 3;//Un type de valeur nullable (appelé type nul)
int m = nul;//erreur
int? j = null;//Succès À partir de l'exemple ci-dessus, nous pouvons voir qu'un type valeur nullable peut être défini après le type valeur. En C#, un signe ? est ajouté après le type de base, tandis qu'en VB.NET In, vous pouvez le faire
Dim dtmVarName As Nullable (Of DateTime)
Dim intVarName As Nullable (Of Integer)
Dim bVarName As Nullable (Of Boolean)
Il convient de noter que le type nul n'est pas un nouveau type de données .NET.
En fait, le type null est une classe générique System.Nullable<T> définie dans la bibliothèque .NET, où T est un type valeur remplaçable.
int? k = 3; peut également être écrit sous la forme System.Nullable<int> k = 3;
Les opérations sont implémentées via une surcharge d'opérateur de cette classe.
Vous pouvez utiliser hasvalue pour déterminer si une valeur a été attribuée au type vide
if (dtmVarName.HasValue)
{
//... faire quelque chose
}
http://www.cnblogs.com/jackyrong/archive/2006/08/26/486796.html