Ich muss einen DateTime
Wert überprüfen, wenn es einen Wert hat oder nicht.Wie nach dem Standardwert DateTime Wert?
Ich habe mehrere Möglichkeiten:
if (dateTime == default(DateTime))
oder
if (dateTime == DateTime.MinValue)
oder mit einem Nullable-DateTime?
if (nullableDateTime.HasValue)
Persönlich würde ich die dritte Version bevorzugen, da seine ziemlich gut lesbar. Aber in unserer Datenbank haben wir einige Datetime-Spalten, die als nicht null definiert sind. Also in einigen Fällen muss ich mit den ersten beiden Optionen gehen.
Ich habe irgendwo gelesen, dass das Schlüsselwort default
bei der Arbeit mit Generika verwendet werden sollte, aber ist es in diesem Fall nicht viel besser lesbar? Bei Verwendung der zweiten Option muss ich wissen, dass der Standardwert einer neuen und leeren DateTime-Instanz DateTime.MinValue ist, der den Geruch eines Implementierungsdetails für mich hat.
Also, welche Option sollte ich "best practice" zu benutzen?
In Ihrem ersten Satz nach dem Code-Blöcke haben, meinen Sie das „zweite Version“, oder haben Sie „dritte Version“ bedeuten? –
Aktualisiert;) Ich meinte die dritte Version, da die Eigenschaft klar erklärt, was ich zu prüfen beabsichtige: ob die Variable einen Wert hat – dasheddot
Und was passiert, wenn was auch immer es tatsächlich ist, zu diesem minimalen Datum passiert? – Servy