Suddividere i dati in pagine con Skip e Take in C#
In questa lezione otterrai i dati di una pagina specifica di un elenco con Skip e Take di LINQ.
Introduzione
Quando ci sono molti dati, le applicazioni di solito li mostrano pagina per pagina, per esempio 10 prodotti per pagina. LINQ offre due metodi: Skip, per saltare alcuni elementi iniziali, e Take, per prendere quelli successivi; insieme realizzano la paginazione.
Con le pagine numerate da 1, il numero di elementi da saltare è (page - 1) * size. Alla pagina 2, con 3 elementi per pagina, il programma salta i primi 3 e prende i 3 successivi, cioè 4, 5 e 6. Nella pratica conviene ordinare i dati prima di suddividerli in pagine, perché l'ordine delle pagine resti sempre stabile.
Esempio C# eseguibile
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, 6Esercitati con il debugger
Esercitati con una sfida
Usa ciò che questa lezione spiega per risolvere un problema reale. Ogni sfida gira nel browser, con test immediati e una revisione dell'IA.
Tutte le sfide