接第三章中進行優化分頁
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();
}