Vergleichen Sie nullable datetime-Objekte
Habe ich zwei nullable datetime-Objekte, die ich möchte, zu vergleichen. Was ist der beste Weg, es zu tun?
Habe ich bereits versucht:
DateTime.Compare(birthDate, hireDate);
Dies gibt einen Fehler, ist es vielleicht erwartet Daten vom Typ System.DateTime
und ich habe Nullable-datetimes.
Habe ich auch schon versucht:
birthDate > hiredate...
Aber die Ergebnisse sind nicht wie erwartet...irgendwelche Vorschläge?
Null < Datum? Was über null und null?
Wie sind die Ergebnisse unterschiedlich aus, was Sie erwartet, wenn Sie
Mögliche Duplikate von Vergleich von nullable DateTime?
Wie sind die Ergebnisse unterschiedlich aus, was Sie erwartet, wenn Sie
birthDate > hireDate
, denn das ist der einfachste Weg, es zu tun. C# eingeführt abgehoben-Operatoren, um die Dinge einfach für Sie.Mögliche Duplikate von Vergleich von nullable DateTime?
InformationsquelleAutor faizanjehangir | 2013-01-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vergleichen zwei
Nullable<T>
Objekte verwendennull-Werte zu.Vergleichen<T>
wie:Können Sie auch tun:
Verwenden Sie die Value-Eigenschaft des Nullable DateTime. (Denken Sie daran, um zu überprüfen, wenn sowohl Objekt-Werte)
Wenn beide Werte Gleich sind DateTime.Vergleichen Sie zurück
0
Etwas Wie
Welche integer-Werte zurückgegeben werden, in jedem Fall, D. H. > < ==
Wenn die Daten null ist, .Wert null und löst eine InvalidOperationException mit "Nullable Objekt muss einen Wert haben". Die OP könnte hinzufügen möchten, die null-Prüfungen.
dann, was Sie vorschlagen, ist die beste Methode? als ich habe Fälle, in denen Werte kann null sein.
vielen Dank, ich habe den check für HasValue
InformationsquelleAutor Habib
Null-Werte zulässt.Gleich Der angibt, ob zwei angegebene Nullable(Of T) - Objekte gleich sind.
Versuchen:
Der beste Weg wäre: Null-Werte zulässt.Compare-Methode
InformationsquelleAutor Vishal Suthar
Wenn Sie möchten, eine
null
Wert, so behandelt zudefault(DateTime)
Sie könnte so etwas tun:und verwenden Sie es wie diese
Einen anderen Weg, dies zu tun wäre, um eine Erweiterung Methode für
Nullable
Typen, deren Werte vergleichbar sindWo Sie würde es nutzen, wie dies
InformationsquelleAutor mlorbetske
Verwenden Sie die
null-Werte zu.Vergleichen<T>
Methode. Wie diese:var equal = Nullable.Compare<DateTime>(birthDate, hireDate);
🙂Stimmt, behoben, vielen Dank.
InformationsquelleAutor Maarten
InformationsquelleAutor MahaSwetha
Als @Vishal angegeben, verwenden Sie einfach überschrieben Gleich Methode der
Nullable<T>
. Implementiert ist es auf diese Weise:Gibt es
true
wenn entweder beide nullable structs nicht Wert sind, oder wenn Ihre Werte gleich sind. Also, nutzen Sie einfachInformationsquelleAutor Sergey Berezovskiy
Ich denke, Sie könnte verwenden Sie die Bedingung in der folgenden Weise
InformationsquelleAutor V4Vendetta
Schreiben Sie eine generische Methode zum berechnen von Min oder Max für jeden Typ, wie unten:
Dann verwenden Sie wie unten:
InformationsquelleAutor Rahul Nikate