DoNet6新特性 Enumerable.Chunk()

.net6新增了一个语法糖 对于分块读取,断点续传,大文件分段读取,我们可以直接用一句话就可以代替繁琐的操作
比如我们有1005页书 要按每10页分一组 我们可以进行一下操作

 

static void Main(string[] args)
{
    //新特性一句话搞定
    List<int[]> list = Enumerable.Range(1, 1005).Chunk(10).ToList();

    //以前的方法
    List<int> list1 = Enumerable.Range(1, 1005).ToList();

    var totalCount = list1.Count;

    var pageSize = 100;

    var pageCount = Convert.ToInt32(totalCount / (double)pageSize);

    List<int[]> list2 = new List<int[]>();

    for (int i = 0; i < pageCount; i++)
    {
        int[] chunk = list1.Skip(i * pageSize).Take(pageSize).ToArray();        

        list2.Add(chunk);
    }
    //以前这么长
}

 

posted on 2022-06-17 18:36  漫思  阅读(48)  评论(0编辑  收藏  举报

导航