【问题标题】:Paging with LINQ?使用 LINQ 分页?
【发布时间】:2012-11-15 04:43:50
【问题描述】:

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

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

但是必须有一种更有效的方法......有人可以告诉我方法吗?

谢谢!

【问题讨论】:

  • 通常 Skip() 和 Take() 方法用于 linq 中的分页。
  • (off topic-ish): 另请查看 PagedList nuget 包,nuget.org/packages/PagedList

标签: c# .net linq pagination


【解决方案1】:

您可能应该使用 Skip

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

【讨论】:

    【解决方案2】:

    有一个 Skip 运算符。

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

    例如:

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

    【讨论】:

      猜你喜欢
      • 2014-06-20
      • 1970-01-01
      • 2017-06-07
      • 2015-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-23
      • 2012-01-04
      相关资源
      最近更新 更多