ClR支持两种类型:值类型和引用类型.虽然FCL中大多数还还引用类型,但编程人员还是最多用值类型.引用类型是从托管堆上分配的,C#的new会返回对象的内存地址--也就是指向对象数据的内存地址.在使用引用类型时,要注意以下事实:
1.内存是从托管堆上分配的.
2. 对上分配的对象都有一些额外的成员,而且这些成员必须初始化
3.对象中的其他字节(为字段而设)总是设为0
4.从托管堆上分配一个对象,可能强制执行一次垃圾收集操作
哪些是引用类型,哪些是值类型呢?
在sdk文档中,任何称为类的都是引用类型,而结构和枚举则是值类型.
记住:引用类型在传值的时候只传(复制)指针,而值类型在传值的时候则在堆栈上分配并复制成员.
1.内存是从托管堆上分配的.
2. 对上分配的对象都有一些额外的成员,而且这些成员必须初始化
3.对象中的其他字节(为字段而设)总是设为0
4.从托管堆上分配一个对象,可能强制执行一次垃圾收集操作
哪些是引用类型,哪些是值类型呢?
在sdk文档中,任何称为类的都是引用类型,而结构和枚举则是值类型.