Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

LINQ Grundkurs

Gruppierung

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Gruppierung ist ein wichtiges Mittel jeder Abfrage und der erste Weg zur Aggregierung.
03:13

Transkript

Was wäre eine Abfragesprache ohne Gruppierung? Wir sehen uns also an, wie man Daten gruppieren kann. Dafür habe ich wieder eine Menge von Personen. Und die werden gleich nach dem Geschlecht gruppiert. Sehen wir uns dazu an, was wir an dieser Abfrage ändern müssen. Man kann es sich mit Sicherheit schon fast vorstellen, denn in anderen Abfragesprachen wie SQL ist es ja das Gleiche. Sobald wir gruppieren wollen, verwenden wir den group-Befehl. Mit group allein kommen wir nicht weiter, sondern wir brauchen ein group by. Aber bei group geben wir an, was wir gruppieren wollen, also person, und nach was wir gruppieren wollen, also zum Beispiel person.Geschlecht. Jetzt zeigt uns Visual Studio schon an, hier funktioniert irgendwas nicht. Zum Beispiel wird das select gar nicht blau hervorgehoben. Das liegt daran, dass wir im Fall von group by kein select benötigen. Denn über group sagen wir ja schon aus, was wir gruppieren wollen und was dann auch in der Ergebnismenge enthalten sein soll. Mit by sagen wir dann nur, wie es gruppiert werden soll. Führen wir das Ganze einmal aus, dann sehen wir auch, wir haben gruppiert nach Maennlich und nach Weiblich. Das Interessant an dieser Stelle ist, dass wir statt einer einfachen Liste, eine Liste von IGrouping zurückbekommen. Wie man das auswerten kann, sehen wir an dieser Stelle. Das ist nämlich die Methode, die ich nutze, um meine Ergebnisse anzuzeigen. Ich erhalte also im Grunde zwei ineinander verschachtelte Listen. Die erste Liste, die ich bekomme, die ist mit IGrouping gefüllt. Und ein solches Grouping, das ist in diesem Fall das item, das hat einen Key. Darüber hinaus ist es aber selbst auch eine Liste von Elementen, und zwar in meinem Fall eine Liste von Person. Das heißt, wenn ich auf dieses Grouping zugreife, kann ich auch auf alle darin enthaltenen Personen zugreifen. Denn bei IGrouping selbst ist ein Interface, das IEnumerable und IEnumerator implementiert. IEnumerator beziehungsweise IEnumerable kann ich selbst zusätzlich durch LINQ-Abfragen auswerten und in foreach-Schleifen verwenden. Sehen wir uns an, wie das Ganze dann noch aussieht, wenn wir es in der Fluent API verwenden. Dazu kopiere ich einfach mal Code, und zeige jetzt diesen Code an. Da machen wir nichts anderes, als dass wir eine Extension Method, GroupBy, aufrufen. Dort geben wir an, nach was wir die Daten gruppieren wollen. Sie haben also gesehen, wie Sie Daten gruppieren können, auf beide Arten, einmal mit Fluent API und einmal mit Expression Syntax. Darüber hinaus haben Sie gesehen, was Sie mit diesen Daten dann anfangen können.

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!