我试图从List<T>
检索数据以进行分页。如何在LINQ中做到这一点:
private List<MyData> GetPagingData(int pageNumber)
{
if (pageNumber == 1)
return myData.Take(8);
// What to do here?
}
这适用于第一页。它返回前8条记录。我如何在第2页等上使用此功能...
最佳答案
如果您希望页码从0开始:
private IEnumerable<MyData> GetPagingData(int pageNumber, int perPage)
{
return myData.Skip(pageNumber * perPage).Take(perPage);
}
如果您希望页码从1开始:
private IEnumerable<MyData> GetPagingData(int pageNumber, int perPage)
{
return myData.Skip((pageNumber-1) * perPage).Take(perPage);
}