C # - Berechne Min Date / Max Date aus einer Liste

8

Ich habe eine Liste mit Daten:

%Vor%

Verwenden von C # Was ist der beste / kürzeste Weg, um aus dieser Liste das Min- / Max-Datum herauszufinden?

    
Murtaza Mandvi 25.02.2010, 21:30
quelle

6 Antworten

17

Ich mag die einfache Lösung.

%Vor%     
Jeffrey L Whitledge 25.02.2010, 21:39
quelle
24

Konvertiere sie in DateTime mit ParseExact (oder TryParseExact) und benutze dann Linq, um Min und Max zu erhalten:

%Vor%

Beachten Sie, dass die Liste in Ihrem Beispiel bereits in aufsteigender Reihenfolge sortiert wurde. Wenn Sie garantieren können, dass dies immer der Fall sein wird und Sie eine bessere Leistung wünschen, können Sie einfach das erste und letzte Element nehmen, das O (1) anstelle von O (n) wäre. Aber das Obige ist sicherer, selbst wenn Ihre Liste wahrscheinlich immer sortiert wird, sollten Sie diese Optimierung wahrscheinlich nicht durchführen, es sei denn, Sie brauchen sie wirklich, nur für den Fall, dass die Liste nicht in sortierter Reihenfolge erscheint.

    
Mark Byers 25.02.2010 21:38
quelle
17

benutze linq!:

%Vor%     
Ryan Ferretti 25.02.2010 21:36
quelle
2

Über Linq können Sie Folgendes tun:

%Vor%     
Scott Stafford 25.02.2010 21:33
quelle
0

Dies ist ähnlich der Antwort von @ Jeffrey, aber anstatt jedes Datum zu analysieren, findet es zuerst die Min- und Max-Daten, die seine Zeichenfolgenwerte vergleichen, und dann analysiert es die Werte am Ende.

%Vor%     
Fede 25.02.2010 22:27
quelle
0

Ich weiß, das ist keine direkte Antwort auf Ihre Frage, aber könnte anderen helfen, wenn sie hierher kommen und etwas Ähnliches suchen.

Ich bin heute über dieses Problem gestolpert, als ich versucht habe, aus einer Liste von Objekten nur das maximale Datum zu finden. Manchmal gibt es keinen Wert im Datum für die Objekte, also musste ich herausfinden, wie man einen Versuch mit meiner linq versucht.

Aus einer Kombination dessen, was Mark hier verwendet hat, kam ich auf diese Idee, um mein Problem zu lösen.

%Vor%     
A Kimmel 27.08.2015 15:29
quelle

Tags und Links