我对垃圾收集过程感到困惑.
object A = new object(); object B = A; B.Dispose();
通过在变量B上调用Dispose,创建的对象将不会被垃圾回收
因为对象仍由A引用.
现在以下代码的工作方式与上述相同?
public static image Test1() { Bitmap A = new Bitmap(); return A; }
public void TestB() { Bitmap B = Test1(); B.Dispose(); }
静态函数Test1返回对Bitmap对象的引用.引用被保存
在另一个变量B中.通过在B上调用Dispose,B和对象之间的连接丢失,但是从Test1传递的引用会发生什么.直到功能TestB的范围完成才能保持活动状态吗?
有没有办法立即处理从静态函数传递的引用?