10 2013 档案
摘要:装箱与拆箱的操作: 装箱过程:将值类型转换为引用类型,就是在托管堆中创建一块内存,放到值类型的值,并返回地址。 拆箱过程:将原来属于值类型的值,拷贝给值类型对象。 箱子当然指的就是 “托管堆”。引用类型本身就在箱子里面,所以就不存在装箱和拆箱过程。 int i=10; object o=i;//发生一次装箱操作 int b=(int)o;//发生一次拆箱操作内存管理:值类型与引用类型是如何分配内存及初始化值类型在堆栈上面的分布过程:(由高位向低位扩展),假如堆栈指针初始位于50000,向下扩展4Byte,返回指针地址int x=100;在x上面的一块合适的大小的内存块分配 a ,2Bytech
阅读全文
摘要: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.引...
阅读全文
摘要:品味类型:通用类型系统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 ();定义一个结构体
阅读全文
摘要:封装的秘密1.3封装的秘密 字段:一般定义为private。属性:对于字段的操作,get_name,set_name两个方法,一般定义为public。保证数据的安全性和可靠性。方法:向外部提供的接口。一般调用属性,而不是字段。1.4多态的艺术 定义抽象类,抽象方法 定义接口,实现接口。1.5接口 接口就是一个规范,约束类能操作什么。其本质还是一个抽象类中定义了一个abstract virtual的方法。 在托管堆CLR中维护着一个接口虚表,主要是记录那个类实现了这个接口方法。好实现方法的分派。 一般是定义多个小功能的接口,而不是多功能的大接口。 三层中把数据库操作的增,删,改定义成接口,不同数
阅读全文
摘要:很久没有有计划的去读书做笔记了,可能有些书是原来看过的,但是没有笔记,看了过了一段时间又忘记了,自从看完博客园一位码兄的文章后,收获彼多,笔记真的很重要,可是从小学到大学,自己都不怎么记笔记,所以算不上一个好学生,步后社会后,特别是年龄大了后,不得不去看笔记,来复习原来的知识点,不可能一本书一本书的去找,这时候,笔记就显示格外重要了,希望我还不晚。坚持看完,并做好笔记。别人花5年能做完的事,做好的事,我争取用10年完成,再不行用20年也行。工作几年感觉自己还是个菜鸟,有点内玖,有过迷茫,有过失落,虽没有到而立之年,但是也快了,希望重拾自己多年前的梦想。希望得到园内高手的指导。为所有迷茫过的程.
阅读全文
摘要:面向对象(第一章)1.1面对对象对象的产生:首先在内存中分配空间,再初始化必须的附加成员,再调用构造函数执行初始化。对象有类型:值类型(堆栈) 引用类型(托管堆)对象有访问权限:Public(所有成员) protected(派生类) internal(同一程序集中) private(私用,管好自己就可以了)多态:1.接口实现多态:定义一个接口IPeople,实现不同的方法Dowork(). IPeople PatHome=new PeopleAtHome();IPeolpe patSchool=new PeopleAtSchool();2.抽象类实现多态。Gc垃圾回收机制:对象没有被应用程序引
阅读全文