und
Methoden in LINQ können verwendet werden, um Objekte mit dem minimalen oder maximalen spezifischen Attributwert zu finden. Wenn jedoch die Verarbeitung leer sein kann, können einige zusätzliche Überlegungen auftreten. Min()
Max()
Die Person, die das früheste Geburtsdatum bestimmt
Angenommen, Sie haben eine Liste von Personenobjekten, die ein -Treizattributs enthält, das leer sein kann. Sie möchten LINQ verwenden, um das früheste Geburtsdatum zu finden.
Eine Methode besteht darin, die Methode DateOfBirth
zu verwenden, um den kleinsten
Min()
DateOfBirth
, aber dies wird nur das Datum selbst liefern. Wenn Sie das entsprechende Personenobjekt möchten, können Sie eine andere Abfrage ausführen:
var firstBornDate = People.Min(p => p.DateOfBirth.GetValueOrDefault(DateTime.MaxValue));
<高> effizientere Lösungen
var firstBorn = People.Single(p => (p.DateOfBirth ?? DateTime.MaxValue) == firstBornDate);
Anstatt zwei Abfragen zu verwenden, ist es besser, die Methode zu verwenden, um den Vorgang zu kombinieren:
Diese Code -Iterationssammlung wird in Aggregate()
gespeichert. Bei der Begegnung mit dem früheren Personenobjekt ersetzt es den aktuellen Mindestwert. Infolgedessen Objekte von Personen mit dem frühesten Geburtsdatum.
Das obige ist der detaillierte Inhalt vonWie kann ich die Person mit dem frühesten Geburtsdatum mit LINQ effizient finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!