前言
看到了自己的朋友写了一个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.


随意游世