Heim >Backend-Entwicklung >C++ >Wie kann Linq das Objekt effizient mit dem minimalen oder maximalen Eigenschaftswert finden?

Wie kann Linq das Objekt effizient mit dem minimalen oder maximalen Eigenschaftswert finden?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-02-01 03:36:10888Durchsuche

How Can LINQ Efficiently Find the Object with the Minimum or Maximum Property Value?

Objekte mit dem minimalen/maximalen Attributwert mit Linq

In Datenverarbeitungsszenarien ist häufig ein bestimmtes Objekt mit einem minimalen oder maximalen Wert mit einem bestimmten Attribut erforderlich. LINQ bietet einfache Methoden, um dies zu erreichen.

Lassen Sie uns Ihr Beispiel überprüfen, in dem das Personobjekt das Datum des Attributs von Birth hat, das leer sein kann. Um die frühesten Personen am Geburtsdatum zu finden, haben Sie zuerst die folgenden Methoden ausprobiert:

Aber dies wird nur das kleinste Datum des Wertes abrufen. Um das entsprechende Personenobjekt abzurufen, ist noch eine zusätzliche Abfrage erforderlich.
<code>var firstBornDate = People.Min(p => p.DateOfBirth.GetValueOrDefault(DateTime.MaxValue));</code>

einfache Lösung: Verwenden Sie das Aggregat

lINQ bietet eine alternative Methode zur Verwendung der Aggregatmethode:

Dieses Codefragment kann verwendet werden, um den kleinsten Datum des Wertes und das entsprechende Personenobjekt in einer einzelnen Abfrage abzurufen. Es vergleicht iterativ die Datum der Eigenschaft jedes Elements mit dem aktuellen Mindestwert und gibt Elemente mit dem Mindestwert zurück.

<code>var firstBorn = People.Aggregate((curMin, x) => (curMin == null || 
    (x.DateOfBirth ?? DateTime.MaxValue) < (curMin.DateOfBirth ?? DateTime.MaxValue)) ? x : curMin);</code>
Durch die Verwendung von Aggregat können Sie die Anforderungen für die zweite Abfrage beseitigen und den Code erheblich vereinfachen. Diese Methode ist besonders nützlich, wenn Sie extreme Werte finden müssen, die möglicherweise ein kurzes Wertmordungsattribut haben.

Das obige ist der detaillierte Inhalt vonWie kann Linq das Objekt effizient mit dem minimalen oder maximalen Eigenschaftswert 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