linq bietet eine leistungsstarke und effiziente Möglichkeit, Daten abzufragen. Es ist besonders nützlich, wenn Objekte basierend auf bestimmten Bedingungen ausgewählt werden, z. B. Objekte mit dem kleinsten oder größten Wert einer bestimmten Eigenschaft.
Angenommen, Sie haben eine Liste von Personenobjekten, die ein nullierbares Datum der Eigenschaft haben. Möglicherweise müssen Sie das früheste Geburtsdatum bestimmen.
Eine Methode besteht darin, die min -Methode zu verwenden, um den Mindestwert des Datumsangebots -Attributs zu finden. Dies gibt jedoch nur den Mindestdatumwert zurück, nicht das tatsächliche Personenobjekt.
Um das entsprechende Objekt zu erhalten, können Sie die aggregierte Methode verwenden:
var firstBorn = People.Aggregate((curMin, x) => (curMin == null || (x.DateOfBirth ?? DateTime.MaxValue)
In diesem Beispiel wird der anfängliche Akkumulatorwert auf null gesetzt. Die an die Aggregatmethode übergebene Funktion prüft, ob der aktuelle Akkumulatorwert null ist oder ob die Datum der Eigenschaft des aktuellen Elements (ersetzen Sie den Nullwert durch datetime.maxValue) früher als die Datum der Eigenschaft des aktuellen Akkumulators. Wenn die Funktion das aktuelle Element als neuer Akkumulator zurückgibt. Andernfalls gibt sie den aktuellen Akkumulator zurück.
Das Ergebnis von Aggregat ist das früheste Personenobjekt mit dem Geburtsdatum. Diese einfachere Methode erfordert keine zweite Abfrage, um das entsprechende Objekt abzurufen.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3