前言
看到了自己的朋友写了一个ListPage的分页函数,看到他里面先new List,for进行赋值,再返回
我看完,嘶...不是有更方便的方法嘛,比如yield
所以在这里贴一下代码,也方便自己以后CV
public static IEnumerable<IEnumerable<T>> GetListPage<T>(int pageSize, IEnumerable<T> list)
{
var count = list.Count();
var pageNum = ((count + pageSize - 1) / pageSize);
for (int i = 0; i < pageNum; i++)
yield return list.Skip(i * pageSize).Take(pageSize);
}
Q.E.D.