Sye*_*yed 1 c# enums garbage-collection
通常,所有引用类型在没有引用时都是垃圾回收.枚举变量怎么样?它是否会被垃圾收集,即使它超出范围(意味着它没有被引用更多)?
你的问题很容易混淆.
通常,所有引用类型在没有引用时都是垃圾回收.
不收集参考类型.收集引用类型的实例.当实例没有引用时,它们不会被收集.它们在垃圾收集器运行时收集,并确定无法从已知的生存根到达引用的对象.
枚举变量怎么样?它是否会被垃圾收集,即使它超出范围(意味着它没有被引用更多)?
变量的范围是程序文本的区域,其中变量可以通过其名称访问.变量的范围只与其生命周期松散相关,这就是您所要求的.变量的生命周期可能比程序控制在其范围内的时间段更长或更短!
此外,完全不清楚你的意思是"枚举变量是否会被垃圾收集?" 变量是存储位置,因此变量必须在某处.变量在哪里?它是一个阶级的领域吗?它是一个局部变量吗?它是lambda的封闭外变量吗?它是枚举类型数组的元素吗?所有这些都会影响是否收集与变量关联的存储,以及收集时是否收集.
你提问的方式并没有任何意义.你能澄清一下这个问题吗?
您可能还想阅读我对此相关问题的回答: