摘要: new  new关键字返回的是一个指向堆上对象的引用,而不是真正的对象本身。这个引用变量保存在栈内,以供应用程序以后使用。  1、使用new关键字将一个对象分配在托管堆上,然后不用再管:当对象从代码库的任何部分都不可达时,垃圾回收器就会从堆中删除它。  2、托管堆不只是一个由CLR访问的随机内存块。.NET垃圾回收器是堆的“清洁工”,它会压缩空的内存块来实现优化(必要的时候... 阅读全文
posted @ 2009-11-01 23:08 HappyZeng 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 值类型  值类型(包括所有的数值类型、枚举和结构)都分配在栈上。所以值类型一旦离开其定义的作用域,立即就会从内存中删除  当一个值类型赋值给另一个值类型的时候,默认情况下完成的是一个成员到另一个成员的复制。引用类型  引用类型分配在托管堆上。其对象一直保留在内存中,直到.NET垃圾回收器将它们销毁。默认情况下,一个引用类型的赋值将new出一个对该堆上同一个对象的新引用(new关键字返回的是一个指向... 阅读全文
posted @ 2009-11-01 22:21 HappyZeng 阅读(195) 评论(0) 推荐(0) 编辑