接第三章中进行优化分页
public static List<T> GetPageList<T>(this List<T> list, int currentPage, int pageSize)
{
if (list == null || list.Count < 1)
{
return new List<T>();
}
int totalitem = list.Count;
// 计算当前页(大于最后页数当前页为最后页数)
int lastPage = totalitem % pageSize == 0 ? totalitem / pageSize : (totalitem / pageSize) + 1;
if (lastPage < currentPage)
{
currentPage = lastPage;
}
// 跳过 (当前页码 -1) * 每页显示条数
int skip = (currentPage - 1) * pageSize;
skip = skip <= 0 ? 0 : skip;
return list.Skip(skip).Take(pageSize).ToList();
}