Je veux convertir un DateTime ( DateTime?
) nullable en a DateTime
, mais j'obtiens une erreur:
Impossible de convertir implicitement le type "System.DateTime?" à «System.DateTime». Une conversion explicite existe (vous manquez un casting?)
J'ai tenté ce qui suit:
DateTime UpdatedTime = (DateTime)_objHotelPackageOrder.UpdatedDate == null
? DateTime.Now : _objHotelPackageOrder.UpdatedDate;
memDateLogin = m.memDateLogin ?? DateTime.MinValue
MS a déjà créé une méthode pour cela, vous n'avez donc pas à utiliser l'opérateur de fusion nul. Aucune différence de fonctionnalité, mais il est plus facile pour les non-experts de comprendre ce qui se passe en un coup d'œil.
la source
Essaye ça
la source
Vous pouvez utiliser une distribution simple:
Comme l'a dit Leandro Tupone, vous devez vérifier si le var est nul avant
la source
Vous devez appeler la propriété Value du DateTime nullable. Cela renverra un DateTime.
En supposant que
UpdatedDate
c'est le casDateTime?
, cela devrait fonctionner:Pour rendre le code un peu plus facile à lire, vous pouvez utiliser la propriété HasValue au lieu de la
null
vérification:Cela peut alors être rendu encore plus concis:
la source
Que diriez-vous de ce qui suit:
la source
Voici un extrait que j'ai utilisé dans un présentateur remplissant une vue avec une date / heure Nullable
la source
Vous pouvez également essayer les propriétés Nullable (T) :
la source
Pensez à utiliser ce qui suit qui est bien meilleur que la réponse acceptée
la source
Essaye ça:
la source
la source