Una delle feature fondamentali di un'applicazione performante è la paginazione di dati. Questo è vero sia per applicazioni web che per applicazioni standalone, le quali comunque soffrirebbero se venissero visualizzate decine di migliaia di record senza paginazione.
Fortunatamente, LINQ viene in aiuto semplificando estremamente il processo di recupero di informazioni paginate tramite l'utilizzo dei due metodi, Skip e Take.
Il metodo Skip indica il numero delle righe iniziali che devono essere ignorate, mentre Take stabilisce quanti elementi recuperare; ad esempio, una query che indica uno skip 0 ed un take di 10 recupera i primi 10 elementi.
List<string> persone = new List<string>{ "Stefano Mostarda", "Daniele Bochicchio", "Riccardo Golia", "Cristian Civera", "Marco Leoncini", "Alessio Leoncini", "Andrea Zani", "Stefano Mostarda", "Cristian Paparelli", "Ugo Lattanzi", "Cristian Civera" }; var q = from p in persone.Skip(5).Take(2) select p; lv.DataSource = q; lv.DataBind();
In questo esempio vengono saltati i primi 5 elementi e presi i successivi 2. Ancora una volta LINQ risolve elegantemente un problema con una riga di codice, senza ricorrere a cicli manuali delle collection.
Per approfondimenti si veda:
#30 - Contare le occorrenze di parole in una frase con LINQ
https://www.winfxitalia.com/script/30/Contare-Occorrenze-Parole-Frase-LINQ.aspx
#28 - Recuperare tutti gli oggetti di un certo tipo di una pagina ASP.NET con LINQ
https://www.winfxitalia.com/script/28/Recuperare-Oggetti-Certo-Tipo-Pagina-ASP.NET-LINQ.aspx
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Change tracking e composition in Entity Framework
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
I più letti di oggi
- Disponibile la release finale di Moonlight 1.0
- domani su @aspitalia troverete un articolo speciale dedicato a Windows Phone 8: non ... https://aspit.co/wp-summit #WPSummit
- vuoi costruire applicazioni web in real time? non perdere il nostro speciale! https://aspit.co/aln #signalr #websockets #polling #aspnet
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Utilizzare l'access modifier private protected in C# 7.2