【发布时间】:2015-02-11 09:26:45
【问题描述】:
这里我声明了两种类型 A 和 B,它们相互引用
public class A
{
public B B { get; set; }
~A()
{
Console.WriteLine( "destructing A..." );
}
}
public class B
{
public A A { get; set; }
~B()
{
Console.WriteLine( "destructing B..." );
}
}
在Main方法中,
var b = new B();
var a = new A();
a.B = b;
b.A = a;
a = null;
b = null;
GC.Collect();
输出显示销毁顺序和他们定义的顺序完全一样,不知道为什么?
【问题讨论】:
标签: c# circular-reference