Comment vérifier si un champ DateTime n’est pas nul ou vide?

Je suis très nouveau en C # et j’ai un doute.

Dans une application sur laquelle je travaille, j’ai trouvé quelque chose de similaire dans le code:

if (!Ssortingng.IsNullOrEmpty(u.nome)) 

Ce code vérifie simplement si le champ nome de l’object u n’est pas une chaîne vide.

Ok, c’est très clair pour moi, mais que puis-je faire pour vérifier si un champ n’est pas une chaîne mais est un object DateTime ?

Si vous déclarez un DateTime, la valeur par défaut est DateTime.MinValue et vous devez donc le vérifier comme suit:

 DateTime dat = new DateTime(); if (dat==DateTime.MinValue) { //unassigned } 

Si DateTime est nullable, c’est une autre histoire:

  DateTime? dat = null; if (!dat.HasValue) { //unassigned } 

DateTime n’est pas un type nullable standard. Si vous souhaitez affecter une valeur null au type de variable DateTime , vous devez utiliser DateTime? type qui supporte la valeur null.

Si vous souhaitez uniquement tester votre variable (par exemple, une valeur différente de la valeur par défaut), vous pouvez utiliser le mot clé “default” comme dans le code suivant:

 if (dateTimeVariable == default(DateTime)) { //do work for dateTimeVariable == null situation }