Maison >développement back-end >C++ >Comment puis-je implémenter la pagination dans LINQ to Objects à l'aide de Skip and Take ?

Comment puis-je implémenter la pagination dans LINQ to Objects à l'aide de Skip and Take ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-14 11:00:43509parcourir

How Can I Implement Pagination in LINQ to Objects Using Skip and Take?

Pagination LINQ to Objects

Utilisez la requête LINQ pour implémenter la pagination, utilisez simplement les méthodes d'extension Skip et Take pour la compléter facilement. La solution sera présentée en détail ci-dessous :

Utilisez Skip and Take pour implémenter la pagination

La méthode

Skip ignore les N premiers éléments du jeu de résultats et renvoie les éléments restants. La méthode Take renvoie les N premiers éléments du jeu de résultats et supprime les éléments restants.

Pour émuler la fonction TOP de SQL, vous pouvez appliquer les méthodes Skip et Take comme suit :

  1. Détermine le nombre d'objets à afficher par page (par exemple, pageSize = 10).
  2. Déterminez le numéro de page à afficher (par exemple, pageNumber = 3).
  3. Calculez l'indice du premier élément à sauter à l'aide de la formule : offset = pageSize * (pageNumber - 1).
  4. Appliquez la méthode Skip pour ignorer les premiers éléments offset dans les résultats de la requête.
  5. Appliquez la méthode Take pour récupérer les pageSize éléments suivants.

Exemple de code

En supposant que votre requête LINQ queryResult récupère une liste d'objets, vous pouvez implémenter la pagination comme suit :

<code class="language-csharp">int pageSize = 10;
int pageNumber = 3;

var queryResultPage = queryResult
    .Skip(pageSize * (pageNumber - 1))
    .Take(pageSize);</code>

Dans cet exemple, pageNumber commence à 1, représentant le numéro de page à afficher. Si votre pageNumber commence à 0, vous devez ajuster la formule en conséquence : offset = pageSize * pageNumber.

Plus de ressources

Pour plus d'informations sur les méthodes Skip et Take, veuillez vous référer à la documentation de Microsoft :

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn