【发布时间】:2013-04-01 09:24:09
【问题描述】:
我知道存储在堆栈中的值类型实例和存储在堆中的引用类型实例。但是,CLR确保所有定义Type的程序集都加载完毕后,会创建一些数据结构来存储类型对象,引用类型对象存储在堆中,值类型对象存储在哪里?
【问题讨论】:
我知道存储在堆栈中的值类型实例和存储在堆中的引用类型实例。但是,CLR确保所有定义Type的程序集都加载完毕后,会创建一些数据结构来存储类型对象,引用类型对象存储在堆中,值类型对象存储在哪里?
【问题讨论】:
不同类型的Type对象是引用类型,即Type是一个类,所以它们都存储在堆上。
请注意,值类型只有在方法中是局部变量时才会存储在堆栈中。如果它们是某个类的成员,它们将作为该类实例的一部分存储在堆中。
【讨论】:
作为引用类型对象成员的值类型对象将存储在堆中。
This Thread会帮助你了解更多。
【讨论】: