使用LINQ进行分页?

时间:2012-11-27 14:24:56

标签: c# .net linq pagination

好的,现在我已经得到了这个声明并且它运行良好(注意我已经在执行此语句之前对列表进行了排序,因此Reverse只是允许我弹出最后一页):

return results.Take(pageSize * pageIndex).Reverse().Take(pageSize);

但必须有一种更有效的方式......任何人都能指明我的方​​式吗?

谢谢!

2 个答案:

答案 0 :(得分:6)

有一个Skip操作符。

  

绕过序列中指定数量的元素然后返回   剩下的要素。    http://msdn.microsoft.com/en-us/library/bb358985.aspx

例如:

return results.Skip(pageSize * pageIndex).Take(pageSize);

答案 1 :(得分:3)

您应该使用跳过

return results.Skip(pageSize * pageIndex).Take(pageSize);