¿Cómo convertir fecha y hora? hasta fechahora

Resuelto Waheed asked hace 15 años • 12 respuestas

Quiero convertir un DateTime ( DateTime?) que acepta valores NULL en DateTime, pero aparece un error:

¿No se puede convertir implícitamente el tipo 'System.DateTime?' a 'System.DateTime'. Existe una conversión explícita (¿te falta una conversión?)

He intentado lo siguiente:

DateTime UpdatedTime = (DateTime)_objHotelPackageOrder.UpdatedDate == null 
    ? DateTime.Now : _objHotelPackageOrder.UpdatedDate;
Waheed avatar Jul 07 '09 18:07 Waheed
Aceptado

Desea utilizar el operador de fusión nula , que está diseñado exactamente para este propósito.

Al usarlo, terminas con este código.

DateTime UpdatedTime = _objHotelPackageOrder.UpdatedDate ?? DateTime.Now;
chills42 avatar Jul 07 '2009 11:07 chills42

MS ya creó un método para esto, por lo que no es necesario utilizar el operador coalescente nulo. No hay diferencia en la funcionalidad, pero es más fácil para los no expertos entender lo que está sucediendo de un vistazo.

DateTime updatedTime = _objHotelPackageOrder.UpdatedDate.GetValueOrDefault(DateTime.Now);
Josh avatar Jul 07 '2009 12:07 Josh

Prueba esto

DateTime UpdatedTime = _objHotelPackageOrder.UpdatedDate ?? DateTime.Now;
Valentin V avatar Jul 07 '2009 11:07 Valentin V