Restructure 重构(重建; 调整; 重组)
什么?你竟然不知道重构是什么意思、额……重构嘛、就是重新构造的意思、放到代码这……其实就是把以前的代码结构、以前的逻辑关系、以前的代码、改下、说俗了、就是改代码……没错改代码就是重构、只是个编程专业词而已= =、说两个字比 说改代码啥的酷!所以后专业点、说重构。
官方解释
重构(Refactoring)就是通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。
集合
集合!稍息、立正!向其看齐、向前看- - 别乐、我这是思维闪现、刚你想到了什么场景?一堆不整齐的人、卡卡卡跑到了一起、组成了列队、没错这就是集合!——体育课上的 = =
集合A={1,2,5}集合B={3、4} 他们的全集U={1,2,3,4,5} 、这就是集合!——数学上的 =
————我可没瞎扯、其实集合就是一组元素、在编程上和像数组、可以理解为数组的升级版、数组要声明数组的个数、容易冗余或溢出、在两个元素之间添加元素也比较困难、而集合的个数是根据数据的个数动态改变的、集合里的元素可以是不同类型的。
注:(集合跟数组一样、常用语循环遍历、所以不同类型的数据不免会出错、没关系咱有泛型这个安全帽!)
实际应用
1、命名空间
using System.Collections;
2、声明一个集合变量
ILst arrayAnimal;
3、实例化、动态添加3个元素、
删除元素:如果删除了集合中的第一个元素、那么后面的元素就会挤上来、第2个元素就成了第一个、所以上图删除了2次第一个元素、其实删了集合中的前两个元素、这里也体现了集合的动态、就跟银行排队一样、第一个人办完业务就走了、第二个人就成了第一个办业务的人。
读取集合的个数:arrayAnimal.Count.ToString()
关于集合的循环遍历IEnumerable和IEnumerator 详解 有兴趣的可以看下。
拆装箱
(为什么装箱?)为什么送快递要装到箱子里、为什么运输要装到集装箱里?保护、统一规格、货运船的集装箱上、放上去不大不小、规格都是一样的、货运船要是不装集装箱、各种东西堆在一起……劈了啪啦、都坏了不说、也没法运输啊、所以为了东西的安全、和便于运输、要装箱!
(为什么拆箱?)呵呵……你搬家、东西都装在箱子里、要想用、不丫得拆开箱子啊! = =
编程的角度:为了类型安全、解决类型不匹配报错。
实际应用:
1 装箱 :
所谓装箱就是吧值类型打包到Object引用类型的是一个实例中。比如整形变量 i 被“装箱”被赋值给对象O
int i = 123;
object o = (object)i ;boxing
2拆箱:
所谓拆箱就是从对象中提取值的类型。此例中对象o拆箱并将其赋值给整形变量 i
o = 123;
i = (int) o ;//unboxing
缺点:拆装箱需要大量计算、就好像搬家、装箱跟拆箱耗费人力物力一样、但是搬家必须拆装箱、编程在某些地方为了安全跟避免报错、也要用。
泛型
首先说书上只讲了一点泛型、只应用了集合、其实泛型可以应用到接口、类方法、事件和委托、我也查了相关资料不太理解泛型、这只针对集合来说下泛型、大家不懂也没关系、因为Old子也不懂!额 = =
理解:
泛型让我想到了泛化、泛是广泛的意思、就是大、型就类型、连起来就是大的类型、上边不是说到集合每一个元素类型都不一样么、这会导致一些错误、泛型集合就是在像集合里输入元素时候、限制元素的类型、比如集合只能输入string类型的元素、这佯做不必对元素进行装箱(我也不知道为毛要装箱)、既安全、又效率。
如果把集合比作一个装糖的盒子、能装好多种糖、那么泛型集合就是一个只能装大白兔奶糖、或者是说只能装一种类的糖、糖分了类、便于卖对吧、泛型集合只能输入特定类的元素、这样也便于处理。
实际操作:
1 增加泛型集合命名空间
using System.Collections.Generic;
前提 有一个Animal动物类 Cat和Dog都是集成于动物类的
如果输入其非Animal动物类的就会报错、从而达到类型安全。
我亲爱的粉丝们、虽然面向对象基础还有一篇博客就要完结了、但是我会继续退出设计模式的解读、尽请期待!
——————————这博客写了9个泛番茄……查了N多资料————————
———chenchen———