我编码如下:
class myclass : IDisposable
{
public int a;
public void Dispose()
{
GC.SuppressFinalize(this);
}
}
class Program
{
static void Main(string[] args)
{
myclass cl = null;
using (myclass n = new myclass())
{
n.a = 10;
cl = n;
}
int a = cl.a;// statement 1
}
}
我预计语句 1 将不起作用,因为 cl 对象已被释放(n 对象已被释放)。但它工作。那么在声明 1 中是否真的释放了 n 个对象?