ValueTypes会导致GC吗?

时间:2011-02-10 08:35:41

标签: c# .net garbage-collection

如果我有堆栈分配值类型清理它们? GC只对堆好吗?

3 个答案:

答案 0 :(得分:21)

如果值在堆栈上,那么当当前堆栈帧“弹出”(通过返回的方法)时,值会被有效清理......不会有任何终结器调用或类似的东西,但这些值所用的内存将在下一次堆栈变得高时重复使用。

请注意,值类型不是总是在堆栈上分配。特别是,它们通常被分配为其他对象的一部分(例如,具有int成员的类)或者它们可以被装箱。

答案 1 :(得分:4)

堆栈分配值会自动消失,包含它们的堆栈帧(即从方法返回时)。

答案 2 :(得分:0)

堆栈自动工作,不需要显式内存释放