Ich möchte eine nullfähige DateTime ( DateTime?
) in eine konvertieren, erhalte DateTime
jedoch eine Fehlermeldung:
Typ 'System.DateTime?' Kann nicht implizit konvertiert werden. zu 'System.DateTime'. Es gibt eine explizite Konvertierung (fehlt Ihnen eine Besetzung?)
Ich habe Folgendes versucht:
DateTime UpdatedTime = (DateTime)_objHotelPackageOrder.UpdatedDate == null
? DateTime.Now : _objHotelPackageOrder.UpdatedDate;
memDateLogin = m.memDateLogin ?? DateTime.MinValue
MS hat hierfür bereits eine Methode erstellt, sodass Sie den Null-Koaleszenz-Operator nicht verwenden müssen. Kein Unterschied in der Funktionalität, aber für Nicht-Experten ist es einfacher, auf einen Blick zu erkennen, was gerade passiert.
quelle
Versuche dies
quelle
Sie können eine einfache Besetzung verwenden:
Wie Leandro Tupone sagte, müssen Sie vorher prüfen, ob die Variable null ist
quelle
Sie müssen die Value- Eigenschaft der nullbaren DateTime aufrufen. Dies gibt eine DateTime zurück.
Unter der Annahme , dass
UpdatedDate
istDateTime?
, dann sollte diese Arbeit:Um das Lesen des Codes zu vereinfachen, können Sie anstelle der Prüfung die HasValue- Eigenschaft verwenden
null
:Dies kann dann noch präziser gestaltet werden:
quelle
Wie wäre es mit folgendem:
quelle
Hier ist ein Ausschnitt, den ich in einem Presenter verwendet habe, um eine Ansicht mit einem Datum / einer Uhrzeit von Null zu füllen
quelle
Sie können auch Nullable (T) Properties ausprobieren :
quelle
Verwenden Sie Folgendes, was weitaus besser ist als die akzeptierte Antwort
quelle
Versuche dies:
quelle
quelle