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

LINQ Grundkurs

Elemente auslassen

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Nicht immer will man alle Daten nutzen; manchmal reicht auch nur ein Ausschnitt der Gesamtmenge.
03:03

Transkript

Bei der Abfrage von Elementen kommt man immer wieder in Versuchung, einige zu überspringen, wenn wir zum Beispiel Abfragen haben, die 10.000 Elemente oder Ähnliches umfassen. In einem solchen Fall hilft uns die Methode Take. Mit Take können wir angeben, wie viel Elemente aus der Gesamtmenge entnommen werden sollen. Gebe ich also in meinem Fall eine 3 ein, kriege ich nur die ersten 3 Elemente: 1, 2, 3. Neben Take kann ich außerdem mit Skip sagen, dass er Elemente überspringen soll. Gebe ich also bei Skip 3 ein, bekomme ich als Ergebnis 4, 5, 6, 7, weil die ersten 3 Elemente übersprungen werden. Neben Take und Skip gibt es außerdem TakeWhile und SkipWhile. Hier übergebe ich nicht die Anzahl der Elemente, die übersprungen werden, sondern ich gebe eine Lambda Expression mit. Mit dieser kann ich entscheiden, ob Elemente zurückgegeben werden sollen oder nicht. Gebe ich hier zum Beispiel == 4 an, bekomme ich keine Elemente zurück, weil dieser Aufruf so lange sequenzweise überprüft wird, bis er False ist. Gibt er ein False zurück, also ist er fehlgeschlagen, wird der gesamte Aufruf abgebrochen und nur die zutreffenden Elemente zurückgegeben. In meinem Fall ist 1 ungleich 4 und daher gibt es auch keine Ergebnismenge. Also würde ich bei TakeWhile jetzt sagen x < 4, dann bekäme ich auch die ersten 3 Elemente. Neben diesem Aufruf haben wir außerdem die Möglichkeit, eine weitere Überladung zu verwenden. Diese bekommt zwei Parameter, und zwar neben der aktuellen Zahl außerdem den Index. Dieser Index wird berechnet auf die gesamte Abfrage beziehungsweise auf die Sequenz der gesamten Abfrage, aktuellen Abfrage. Und wenn ich jetzt zum Beispiel sage, ich möchte so lange Elemente nehmen, wie der Index 0 ist, dann bekomme ich letztendlich auch nur ein Element zurück, denn diese Listen sind 0-basierend, beziehungsweise die Indizes der Listen sind 0-basiert. Daher steht natürlich am Index 0 nur ein Element, und zwar die 1. Das, was wir bei TakeWhile gemacht haben, könnten wir jetzt theoretisch bei SkipWhile machen. Ich überspringe das aber, denn das Verhalten ist nicht anders, außer dass Sie Elemente so lange überspringen, wie dieses Prädikat True zurückgibt.

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!