Daten mit Skip und Take seitenweise aufteilen in C#
In dieser Lektion holst du mit Skip und Take von LINQ die Daten einer bestimmten Seite aus einer Liste.
Einführung
Bei vielen Daten zeigen Anwendungen sie meist seitenweise an, zum Beispiel 10 Produkte pro Seite. LINQ bietet zwei Methoden: Skip überspringt eine Anzahl von Elementen am Anfang, und Take nimmt die folgenden Elemente, zusammen ergibt das die Seitenaufteilung.
Werden die Seiten ab 1 gezählt, ist die Zahl der zu überspringenden Elemente (page - 1) * size. Auf Seite 2 mit 3 Elementen pro Seite überspringt das Programm die ersten 3 Elemente und nimmt die nächsten 3, nämlich 4, 5 und 6. In der Praxis solltest du die Daten vor dem Aufteilen sortieren, damit die Reihenfolge der Seiten immer stabil bleibt.
Ausführbares C#-Beispiel
using System;
using System.Linq;
class Program
{
static void Main()
{
int page = 2, size = 3;
var items = Enumerable.Range(1, 10).Skip((page - 1) * size).Take(size);
Console.WriteLine(string.Join(", ", items));
}
}
4, 5, 6Mit dem Debugger üben
Mit einer Challenge üben
Nutze den Inhalt dieser Lektion, um ein echtes Problem zu lösen. Jede Challenge läuft im Browser, mit sofortigen Tests und einem KI-Review.
Alle Challenges