Heim >Backend-Entwicklung >C++ >Wie kann ich die Person mit dem frühesten Geburtsdatum mit LINQ effizient finden?

Wie kann ich die Person mit dem frühesten Geburtsdatum mit LINQ effizient finden?

Linda Hamilton
Linda HamiltonOriginal
2025-02-01 03:51:07654Durchsuche

How Can I Efficiently Find the Person with the Earliest Birth Date Using LINQ?

Verwenden Sie LINQ, um Objekte mit extremen Attributen zu erhalten

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

-Wertzust zu erhalten:

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:

<code class="language-csharp">var firstBornDate = People.Min(p => p.DateOfBirth.GetValueOrDefault(DateTime.MaxValue));</code>

effizientere Lösungen

<code class="language-csharp">var firstBorn = People.Single(p => (p.DateOfBirth ?? DateTime.MaxValue) == firstBornDate);</code>

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn