tnblog
首页

C# 数组拆分(泛型)

50人阅读 2019/1/1 20:56 评论: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;


原始数组:


拆分后:

请先登录

{{item.title}}

{{item.content}}
有个性,不需要签名
博主搜索
文章类别
.NET 12篇
Python 6篇
CSS 0篇
sql 1篇
JS 4篇
other 0篇
notepad 0篇
Redis 1篇
Linux 0篇
Regex 0篇
test 0篇
最新文章
Python实例 2-12306抢票(二) 下单
Python实例 2-12306抢票(一) 登陆
泛型简单介绍。。
C# 数组拆分(泛型)
JS监听input、keydown,有输入法时打字完成后触发事件
Python实例 1-日志抓取处理 补错(附日志小技巧)
通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core?
Redis基础安装操作-windows版
Visual Studio远程调试
Python学习 3-爬虫基本介绍 及简单实例
Python学习 2-基本语法
最新评价
{{item.ArticleTitle}}
{{item.BlogName}} : {{item.Content}}