LINQ分页如何获取总页数

How to get the total page of LINQ pagination

基于 how to apply paging on a list 的回答。

我想扩展这个问题,即我们如何获取列表的总页数,每页包含特定的项目总集合?

例如,假设我有 50 个项目,每页有 12 个项目。我怎样才能得到总页数?

这不是简单的数学吗?

Page count = Round(Total Records / Page Size)

在 C# 中

int totalItemCount = myList.Count();
int pageSize = 10;

int pageCount = System.Convert.ToInt32(System.Math.Ceiling(totalItemCount / System.Convert.ToDouble(pageSize)));

您需要预先知道总共有多少条记录。

要做到这一点,只需使用 yourquery.Count()。它将转换为 sql 以 SELECT COUNT(*)... 开头的某些查询,并且不会遍历每条记录。