不用sql語句怎么進行分頁
3 回答

牛魔王的故事
TA貢獻1830條經驗 獲得超3個贊
這個你可以過濾啊。
你的希望應該是:有一個5000條記錄的集合,希望能從指定位置開始獲取指定數量的一個連續的子集吧?
如果你用LinQ可以使用下面的代碼
public IEnumable GetData(IEnumable source, int startIndex, int size) { return source.Skip(startIndex).Take(size); }
如果你用的不是LinQ,那么:
public IEnumable GetData(IEnumable source, int startIndex, int size) { int index = 0; foreach(var item in source) { if(index < startIndex) { continue; } if(index - startIndex > size) { break; } yield return item; }
當然,上面的枚舉方法不是很好,不過,一般的情況下,你的集合應該能確定類型,比如是LIST或ARRAY等,也就是說能進行下標索引的,此時就更簡單了,下面的代碼就用數組來實現:
public IEnumable GetData(object[] source, int startIndex, int size) { for(int i = startIndex; i < startIndex + size && i < source.Length; i++) { yield return source[i]; } }
- 3 回答
- 0 關注
- 779 瀏覽
添加回答
舉報
0/150
提交
取消