不用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
提交
取消
