using System;
namespace ConsoleApplication25
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1:IDisposable
{
//构造函数,初始化只读成员变量
public Class1()
{
i=10;
}
//析够函数
~Class1()
{
Console.WriteLine("Deconstructor...");
}
public readonly int i;
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
//
// TODO: 在此处添加代码以启动应用程序
//
Class1 c=new Class1();
//c=null;
c.Dispose();//就算调用了手动的销毁对象方法,但是对象c仍然没有马上被销毁
GC.Collect();//调用了强制垃圾回收,依然没有销毁对象c
while(c!=null)//此时对象c没有被销毁,仍然会执行循环语句
{
Console.WriteLine("the value of i is {0}",c.i);
}
Console.ReadLine();
}
#region IDisposable 成员
public void Dispose()
{
// TODO: 添加 Class1.Dispose 实现
Console.WriteLine("in Dispose...");
GC.SuppressFinalize(this);
}
#endregion
}
}
namespace ConsoleApplication25
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1:IDisposable
{
//构造函数,初始化只读成员变量
public Class1()
{
i=10;
}
//析够函数
~Class1()
{
Console.WriteLine("Deconstructor...");
}
public readonly int i;
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
//
// TODO: 在此处添加代码以启动应用程序
//
Class1 c=new Class1();
//c=null;
c.Dispose();//就算调用了手动的销毁对象方法,但是对象c仍然没有马上被销毁
GC.Collect();//调用了强制垃圾回收,依然没有销毁对象c
while(c!=null)//此时对象c没有被销毁,仍然会执行循环语句
{
Console.WriteLine("the value of i is {0}",c.i);
}
Console.ReadLine();
}
#region IDisposable 成员
public void Dispose()
{
// TODO: 添加 Class1.Dispose 实现
Console.WriteLine("in Dispose...");
GC.SuppressFinalize(this);
}
#endregion
}
}