标签:泛型集合
经常听师哥师姐们说底层这个底层那个,从没见过这个“底层”。后来师姐就在项目中应用了这个底层类库,从听说它到自己亲自用它,才发现它还真是强大的不得了啊!经常跟着师哥师姐们的课听,就是想跟这个底层混个“脸熟”。我也经常是不懂装懂,其实真正听懂的也没多少啊。。不仅脸熟了,还脸皮厚呢。。
言归正传为什么又提起泛型集合了呢?第一次接触是在机房重构的时候,Data Table转换成泛型集合。后来敲这个系统的时候,看到封装的类库中绝大多数的返回结果都是泛型集合。委托和泛型的应用,反射和泛型(这些我听不懂的内容)。泛型集合的应用频率好高啊!!!虽然绝大多数的内容听不懂,但是听了还是有效果的,最起码让我进一步认识了泛型集合,还学会了一招,利用反射来获取泛型中的属性。
再来就是集合类可以代替数组灵活管理着一堆对象,什么都可以包容,在集合类的面前,万物皆对象,也就是说它可以存任何的东西。一旦带上了“任何”两个字,我们就要进一步去讨论了,这样做是否要安全隐患呢?假如说,对某一集合,我们存储的都是int数据类型的,由于泛化都是Object,所以存入的时候会进行装箱,将栈区的转到堆区,也就是将int转为Object,在提取时,又会再拆箱,装箱拆箱动作不可避免带来的额外的性能开支。如果你不担心这个性能的问题,那么由于集合不加分辨,可以存储任何对象,那么如果我们把int,string或其他对象混装在同一集合中,在拆箱时,也许会由于拆箱不当带来错误,例如,我们想把一个字符串"AAAAA"拆为一个int数值,自然是不被允许的。
不知道大家有没有注意到从你新建一个类的命名空间来看,
using System.Collections.Generic;
微软已经默认帮你引入了System.Collection.Generic,这说明微软也是希望我们多多使用泛型集合的。哈哈。
标签:泛型集合
原文地址:http://blog.csdn.net/zhou2s_101216/article/details/44280113