这里有两个概念:变量和对象 变量在线程堆栈上分配,并且随时消亡,对象在托管堆上分配,受垃圾收集器管理。所谓引用,是指变量引用对象,追究起来,其实是个指针。
变量消失不等于对象消失,因为可能有多个变量引用同一对象。当一个变量引用一个对象时,这个变量成为这个对象的根。
当对象没有根时,它就成为垃圾收集器销毁的目标。
而c++中变量分为局部、全局、静态,c#中只有成员(局部)和静态。如局部变量是在函数执行完时消失,那么这个局部变量引用的对象也可以被标识为“可回收”。