tnblog
首页
视频
资源
登录
有个性,不需要签名
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

C# 数组拆分(泛型)

7238人阅读 2019/1/1 20:56 总访问:271057 评论:0 收藏:0 手机
分类: .NET

主要用到了泛型。

泛型是c#2.0的一个新增加的特性,它为使用c#语言编写面向对象程序增加了极大的效力和灵活性。不会强行对值类型进行装箱和拆箱,或对引用类型进行向下强制类型转换,所以性能得到提高。通过知道使用泛型定义的变量的类型限制,编译器可以在一个高得多的程度上验证类型假设,所以泛型提高了程序的类型安全。它允许程序员将一个实际的数据类型的规约延迟至泛型的实例被创建时才确定。泛型为开发者提供了一种高性能的编程方式,能够提高代码的重用性,并允许开发者编写非常优雅的解决方案。

        


public List<List<T>> SplitList<T>(List<T> list, int size)
        {
            List<List<T>> result = new List<List<T>>();
            for (int i = 0; i < list.Count() / size; i++)
            {
                T[] clist = new T[size];
                list.CopyTo(i * size, clist, 0, size);
                result.Add(clist.ToList());
            }
 
            int r = list.Count() % size;
            if (r != 0)
            {
                T[] cclist = new T[r];
                list.CopyTo(list.Count() - r, cclist, 0, r);
                result.Add(cclist.ToList());
            }
 
            return result;


原始数组:


拆分后:


欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

评价