随笔分类 -  你必须知道的.NET系列读后感

你必须知道的.NET系列读后感
摘要:装箱与拆箱的操作: 装箱过程:将值类型转换为引用类型,就是在托管堆中创建一块内存,放到值类型的值,并返回地址。 拆箱过程:将原来属于值类型的值,拷贝给值类型对象。 箱子当然指的就是 “托管堆”。引用类型本身就在箱子里面,所以就不存在装箱和拆箱过程。 int i=10; object o=i;//发生一次装箱操作 int b=(int)o;//发生一次拆箱操作内存管理:值类型与引用类型是如何分配内存及初始化值类型在堆栈上面的分布过程:(由高位向低位扩展),假如堆栈指针初始位于50000,向下扩展4Byte,返回指针地址int x=100;在x上面的一块合适的大小的内存块分配 a ,2Bytech 阅读全文
posted @ 2013-10-15 09:41 WIN8新人 阅读(179) 评论(0) 推荐(0) 编辑
摘要:1. 值类型参数按值传递2. 引用类型参数按值传递3. 值类型参数按引用传递4. 引用类型参数按引用传递 1 class Program 2 { 3 static void Main(string[] args) 4 { 5 //示例1.值类型按值传递,操作的是该值类型实际的一份拷贝 6 int a = 20; 7 Add(a);//传递的是在堆栈上面a的一份拷贝 8 Console.WriteLine(a); 9 10 //示例2.引... 阅读全文
posted @ 2013-10-12 09:54 WIN8新人 阅读(142) 评论(0) 推荐(0) 编辑
摘要:品味类型:通用类型系统CLI(公共语言架构)=CTS通用类型系统+CLS公共语言规范CTS:解决各个语言类型互操作CIL:ClR的中间代码,CLR的汇编代码。.NET FrameWork=CLR+FCL:.NET Framework:CLI在windows平台实现。FCL:以system为根目录的命名空间。值类型:存放在线程的Stack上面,常用的 枚举,int,引用类型:存放在托管堆上面(Heap),保存了实例数据的引用。class,string,object,delegate,interface实例如下: MyStruct mystruct1=new MyStruct ();定义一个结构体 阅读全文
posted @ 2013-10-11 08:32 WIN8新人 阅读(125) 评论(0) 推荐(0) 编辑
摘要:封装的秘密1.3封装的秘密 字段:一般定义为private。属性:对于字段的操作,get_name,set_name两个方法,一般定义为public。保证数据的安全性和可靠性。方法:向外部提供的接口。一般调用属性,而不是字段。1.4多态的艺术 定义抽象类,抽象方法 定义接口,实现接口。1.5接口 接口就是一个规范,约束类能操作什么。其本质还是一个抽象类中定义了一个abstract virtual的方法。 在托管堆CLR中维护着一个接口虚表,主要是记录那个类实现了这个接口方法。好实现方法的分派。 一般是定义多个小功能的接口,而不是多功能的大接口。 三层中把数据库操作的增,删,改定义成接口,不同数 阅读全文
posted @ 2013-10-09 10:01 WIN8新人 阅读(122) 评论(0) 推荐(0) 编辑
摘要:面向对象(第一章)1.1面对对象对象的产生:首先在内存中分配空间,再初始化必须的附加成员,再调用构造函数执行初始化。对象有类型:值类型(堆栈) 引用类型(托管堆)对象有访问权限:Public(所有成员) protected(派生类) internal(同一程序集中) private(私用,管好自己就可以了)多态:1.接口实现多态:定义一个接口IPeople,实现不同的方法Dowork(). IPeople PatHome=new PeopleAtHome();IPeolpe patSchool=new PeopleAtSchool();2.抽象类实现多态。Gc垃圾回收机制:对象没有被应用程序引 阅读全文
posted @ 2013-10-08 09:48 WIN8新人 阅读(165) 评论(0) 推荐(0) 编辑
摘要:is 和as 操作符,经常在我们要转换数据类型的时候使用。 is返回值为true,false.不会抛出异常。如果对象为null,则返回值永远为false Class A { } object o=new object(); if(o is A) { Console.WriteLine("o is A instance");} Console.ReadKey(); as 检查对象的兼容性,并返回结果,不兼容返回NULL, 如果结果判断为空,则强制执行类型转换将抛出NullReferenceException异常。Class B {}object o=new object(); 阅读全文
posted @ 2012-07-21 11:12 WIN8新人 阅读(166) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示