LINQ to Objects 分頁
使用LINQ查詢實現分頁,只需運用Skip
和Take
擴充方法即可輕鬆完成。以下將詳細介紹解決方案:
使用 Skip 和 Take 實現分頁
Skip
方法跳過結果集中的前N個元素,回傳剩餘部分。 Take
方法則傳回結果集中的前N個元素,丟棄其餘元素。
為了模擬SQL的TOP
函數,您可以以下方式套用Skip
和Take
方法:
pageSize = 10
)。 pageNumber = 3
)。 offset = pageSize * (pageNumber - 1)
。 Skip
方法跳過查詢結果中的前offset
個元素。 Take
方法檢索接下來的pageSize
個元素。 程式碼範例
假設您的LINQ查詢queryResult
檢索到一個物件列表,您可以如下實現分頁:
<code class="language-csharp">int pageSize = 10; int pageNumber = 3; var queryResultPage = queryResult .Skip(pageSize * (pageNumber - 1)) .Take(pageSize);</code>
在這個例子中,pageNumber
從1開始,代表要顯示的頁碼。如果您的pageNumber
從0開始,則需要相應地調整公式:offset = pageSize * pageNumber
。
更多資源
有關Skip
和Take
方法的更多信息,請參考Microsoft的文檔:
以上是如何使用 Skip 和 Take 在 LINQ to Objects 中實作分頁?的詳細內容。更多資訊請關注PHP中文網其他相關文章!