机房验收总结

来源:互联网 发布:查看阿里云ecs带宽 编辑:程序博客网 时间:2024/05/16 11:11
this.close()与this.hide()区别**close与hide**       close:关闭窗体,该窗体占用的资源在下次垃圾回收时会被释放       hide:隐藏窗体,相当于visible=false效果,该窗体占用的资源不会被释放**close与Application.Exit**       Application.Exit:所有的消息必须终止,所有的消息都处理完后关闭所有的应用程序窗口       close:关闭窗体,如果该窗体是应用程序的主启动窗体,效果和Application.Exit一样,关闭整个应用程序new分配空间       需要new时是对于复杂类型(本人认为是引用类型)而言的,这时内存分配是在堆区,而不new的类型(本人认为是基础数据类型)的对象内存分配在栈区,空间空间小,当当前所在函数执行完后会自动释放内存;而new 的对象所占内存需要手动释放,否则会造成内存泄露以上两点都用到了[垃圾回收机制](http://www.cnblogs.com/solan/archive/2012/08/24/CSharp11.html),明白了该机制,相信你的编码水平又提升了一截关联和依赖区别       **依赖**:类与类之间的联接,是一种**弱**依赖关系,具有偶然性,临时性。类A依赖类B,表示类A依赖另一个类B的定义,但是类A没有类B的属性。如一个人(Person类)可以买汽车(Car类),这就是Person类依赖Car类的定义,因为person类**引用**了Car,但Person类中并没有Car类型的属性。我理解的是:依赖表现了一种**调用关系**       **关联**:类与类之间的联接,是一种**强**依赖关系,具有长期性,且双方的关系是**平等**的。与依赖不同的是:类A有类B的属性。       **总结**:我和同事从公司骑自行车去公园,那么我(或同事)和自行车是一种依赖关系,而我和同事是一种关联关系。因为依赖是一种弱关联,我可以选择别的交通工具去公园,这种关系具有偶然性(恰巧这次选择的是自行车),依赖可以说一个类用到了另一个类,但是和另一个类的关系不是太明显。而关联这种关系很明显,我和同事,老师和学生是一种很明显的关系七层图关系理解???泛型为什么要使用泛型???       相信在写代码时会遇到这样的问题:我已写了一个参数为int类型的方法A,但现在我需要一个处理参数为string类型的方法,于是赋值了一下方法A的代码,只是把参数变为string类型的方法B,但两者实现的过程即方法体是一样的,总感觉写的代码不简洁,如果我还需要处理参数类型为,char、bool、等等类型的,如果这样岂不是累死了,这时有一种解决方案:就是将参数类型改为object类型,这样就可以写一个方法但可接收任何类型的参数了,但是会出现如下问题: - 当方法对值类型做处理时,要有装箱和拆箱的操作,这样在托管堆上分配和回收大量的变量,若数据量大,则性能损失非常严重; - 当方法对引用类型做处理时,要用到数据类型的强制转换操作,增加处理器的负担       这时出现了泛型,可解决以上问题:泛型·用一个通用的数据类型T代替object,在类实例时指定T的类型,运行时自动编译为本地代码,运行效率和代码质量都有很大提高,并且保证数据类型安全。       **泛型类实例化的理论**:C#泛型类在编译时,先生成中间代码IL,通用类型T只是一个占位符。在实例化类时,根据用户指定的数据类型代替T并由即时编译器(JIT)生成本地代码,这个本地代码中已经使用了实际的数据类型,等同于用实际类型写的类,所以不同的封闭类的本地代码是不一样的。按照这个原理,我们可以这样认为:泛型类的不同的封闭类是分别不同的数据类型,例:Stack和Stack是两个完全没有任何关系的类,你可以把他看成类A和类B,这个解释对泛型类的静态成员的理解有很大帮助。(以上查资料得来)IList与List的区别       **IList**:是泛型接口,是ICollection泛型接口的子代,是所有泛型列表(List就是一个泛型列表)的基接口,定义了一些操作方法,但这些方法自己不能实现,需别人去实现(相当于普通接口),仅作为集合数据的承载体       **List**:是泛型类,实现IList
IList <Class1> IList11 =new List <Class1>(); //第一句List <Class1> List11 =new List <Class1>();   //第二句
这两句的区别:第一句: - 创建了一个`List ()`对象,且可以使用`List`的功能,进行相关操作只能使用`IList `有的方法,不获取事项这个接口的类List的其它方法和属性,有效节省空间第二句: - 创建了一个基于接口`IList `的对象的实例,但这个接口是由`List`实现的 - 接口派生出来的抽象类可转换为接口的实例,体现了**里氏替换原则** - 这也体现了**低耦合**,因为接口是最底层了,所以IList对象可指向任意一个IList接口的实现,当需要改变时,只需该=后面的内容 - 对的
原创粉丝点击