通常呢我們需要翻頁(yè)的數(shù)據(jù)大多都是從數(shù)據(jù)庫(kù)中取,翻頁(yè)、篩選、排序啥的都是通過SQL語(yǔ)句由數(shù)據(jù)庫(kù)幫我搞定,那么有些需求沒有數(shù)據(jù)庫(kù)呢?或者有些數(shù)據(jù)只存在于內(nèi)存中不存到數(shù)據(jù)庫(kù)呢?怎么實(shí)現(xiàn)內(nèi)存里面的對(duì)象集合的通用翻頁(yè)呢?好吧,好在.net framework 3.5 新增加的LINQ to Object里面提供非常多的擴(kuò)展方法,讓我們省去了很多Object集合的操作,如是乎就在想,能不能做一個(gè)像數(shù)據(jù)庫(kù)一樣的,能做一個(gè)通用的滿足翻頁(yè)、篩選、排序的方法呢?
為了防止有些網(wǎng)站亂爬這里插個(gè)聲明,本文章版權(quán)歸作者及博客園所有!鏈接:http://www.cnblogs.com/fanqie-liuxiao
一、準(zhǔn)備
繼續(xù)閱讀需要必須了解的小知識(shí)點(diǎn)(大鳥跳過):
擴(kuò)展方法:
簡(jiǎn)單的個(gè)人理解,就是允許在一些無(wú)法繼承的、Final類一的些擴(kuò)展。是不是有點(diǎn)兒像很早以前javascript里面的擴(kuò)展那些個(gè)瀏覽器對(duì)象來的?(到最后搞的亂七八遭/偷笑)。
來個(gè)例子吧。
public static class extendClass{ // 比如,我要給List<gameProduct>這個(gè)泛型集合添加一個(gè)MyPrint方法。我們可以這樣做,注意函數(shù)簽名. public static String MyPrint(this IEnumerable<object> list) &nb