Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

LINQ Grundkurs

Die Aggregate-Funktion

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Will man mehr, als nur die Standardaggregierungen, dann muss man selbst Hand anlegen. Hierbei hilft die Funktion Aggregate.
04:16

Transkript

Sollten in die Situation stolpern, dass Sie Aggregierungsfunktionen einsetzen müssen, die LINQ noch nicht bietet, dann freuen Sie sich sicherlich darüber, dass es eine Aggregate-Methode gibt. Mit dieser können Sie Funktionalität "nachrüsten", beziehungsweise mathematische Berechnungen ausführen, oder halt ähnliche Sachen. Schauen wir uns das mal an. Ich habe eine Liste angelegt und rufe jetzt die Aggregat-Funktion auf, also die Aggregate-Funktion. Im einfachsten Fall muss ich dafür eine Funktion übergeben, die zwei Werte entgegennimmt und einen Wert zurückgibt. Da ich hier nur mit Integern arbeite, kriegt sie zwei Integer-Werte und gibt einen Integer-Wert zurück. Der erste Parameter, den wir dabei haben, ist der Akkumulator. Der Akkumulator ist eine Variable, beziehungsweise ist der Wert, der über alle Berechnungen hinweg gleich bleibt. Der aktuelle Sequenzwert, also zum Beispiel 1, 2 oder 3, der wird an zweiter Stelle übergeben, ich nenne das einfach mal x. Um nun eine Berechnung zu machen, können wir den Akkumulationswert mit unserem aktuellen Sequenzwert verrechnen. Zum Beispiel akku + x. Im ersten Fall wäre das also nichts plus 1. Ich nehme hier keine Wertzuweisung auf akku vor, denn tatsächlich erwartet die Funktion als Rückgabewert genau den Wert, den sie anschließend auf den akku schreibt und in die nächste Funktion der Sequenz hineingibt. Wir merken uns also den akku nicht, sondern er wird uns immer in die Methode hineingegeben. Schauen wir uns das Ergebnis einmal für unser Beispiel an. Da kriegen wir eine 6, weil 1+2+3 eine 6 ist. Auf die Weise können Sie schon sehr viel machen, aber es gibt noch weitere Funktionalität, die ich Ihnen noch nicht gezeigt habe. Denn es gibt zwei Überladungen. Das hier ist das, was wir gesehen haben, also wir geben eine Funktion rein. Und jetzt haben wir die Möglichkeit, neben der Funktion noch ein seed für den Akkumulator zu bestimmen. Ich gebe hier mal 10 mit. Dann verwende ich die gleiche Funktion, wie ich sie hier oben angegeben habe. Und gebe das entsprechende Ergebnis aus. Nun kommt 16 heraus, weil der Initialwert von akku nicht 0 ist, sondern 10. Wir können damit direkten Einfluss auf die Berechnung nehmen, indem wir zum Beispiel schon einen Initialwert mitgeben. Die dritte Überladung, die ich Ihnen jetzt noch zeige, nutzt auch den seed-Wert, auch wenn man ihn nicht unbedingt immer braucht. Viel interessanter ist nämlich der Selector. Hier sehen Sie auch einen Unterschied. Diese Aggregate-Funktion gibt nicht etwa eine Liste von Integern zurück, sondern sie gibt tatsächlich einen Wert zurück, der aussagt: Ist das Ergebnis wir erhofft, oder ist es das nicht? Das klingt alles etwas verwirrend, also machen wir das einfach mal. Ich setze den Akkumulationswert auf 0. Und ich prüfe am Ende: Ist mein Ergebnis tatsächlich 6? Dann bekomme ich nicht die 6 zurück, sondern ich bekomme ein True, insofern sie gleich ist. Wenn ich jetzt zum Beispiel prüfen würde: Ist der Wert am Ende der gesamten Aggregation eine 7? Dann bekäme ich selbstverständlich ein False zurück. Sie sehen, auf diese Art können Sie unterschiedlichste Berechnung vornehmen. Sie müssen hier bei Aggregate dann nur die entsprechenden Berechnungsmethoden als Parameter übergeben, den Rest macht LINQ für Sie, indem es die entsprechenden Werte dort hineingibt.

LINQ Grundkurs

Lernen Sie die LINQ-Operationen kennen und erstellen Sie praktische Abfragen direkt in C# und .NET.

2 Std. 10 min (26 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Hersteller:
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:24.10.2016

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!