摘要:
CLR支持两种类型:引用类型和值类型,虽然FCL中大多的类型都是引用类型,但是我们程序员用得最多的还是值类型。引用类型总是从托管堆上分配的,C#的new操作符会返回对象的内存地址---也就是指向对象数据的内存地址,引用类型有以下特点:内存必须从托管堆上分配。堆上分配的对象都有一些额外的成员,这些成员必须初始化。从托管堆上分配一个对象时,可能强制执行一次垃圾收集操作。 托管堆的概念,简单的说,所有的.NET语言在分配引用类型对象时都要使用托管堆。像值类型这样的轻量级对象始终分配在栈中,但是所有的类实例和数组都被生成在一个内存池中,这个内存池就是托管堆。托管堆的更深入理解请看这里:http:... 阅读全文