在IL中,你可以使用
.locals
指令来定义本地变量。这些变量存储在堆栈(stack)中还是堆(heap)中?使用参数的堆栈。 ..但是 .....
1)对于引用类型,只有引用存储在堆栈中,而不是其所指向的对象。实际的对象存储在堆上。
2)对于值类型,实际值存储在堆栈上。
现在当方法中的执行流到达结束括号时,堆栈上的值类型数据将被立即销毁,而堆上的引用类型对象(其引用在此方法的堆栈上)将交给垃圾收集系统进行收集,在适当时间由垃圾回收器自行决定。