using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace 析构函数
{
    class Program
    {
        static void Main(string[] args)
        {
            Circle b = new Circle();
            b = null;//
            GC.Collect();//
            GC.WaitForPendingFinalizers();//这三句话是什么意思,有什么功能,希望大家每句话都详细的解释以下!
            Console.Read();
        }
    }
    public class Point
    {
        private int x, y;
        ~Point()
        {
            Console.WriteLine("Point's destructor");
        }
    }
    public class Circle : Point
    {
        private double radius;
        ~Circle()//默认约定调用基类的无参构造函数Point()
        {
            Console.WriteLine("Circle's destructor");        }
    }
}

解决方案 »

  1.   

    GC的全称是garbage collection,中文名称垃圾回收,是.NET中对内存管理的一种功能。垃圾回收器跟踪并回收托管内存中分配的对象,定期执行垃圾回收以回收分配给没有有效引用的对象的内存。当使用可用内存不能满足内存请求时,GC会自动进行。  
    GC.WaitForPendingFinalizers()方法来告诉程序等待堆上对象的所有finalizer方法都运行后在继续
      

  2.   

    析构函数当应用程序封装窗口、文件和网络连接这类非托管资源时,应当使用析构函数释放这些资源。   
    析构函数用于析构类的实例。
    析构函数是由垃圾回收器在清理对象时调用的。   
    class Car
    {
      ~ Car()   
      {
        
      }
    }
    该析构函数隐式地对对象的基类调用 Finalize。
      

  3.   

    看到你那么多的勋章,知道你是C#牛人,因为分不够,所以只能通过这种方法联系你!
    我想问:在c#中,在任何Windows 窗体上都可以指定某个Button控件为接受按钮(也称作默认按钮)。每当用户按Enter键时,即单击默认按钮,而不管当前窗体上其他哪个控件具有焦点。在设计器中指定接受按钮的方法是:选择按钮所驻留的窗体,在“属性”窗口中将窗体的AcceptButton属性设置为Button控件的名称。我试了这种方法为什么不管用,每次运行后,单击Enter就会默认点击的是Tab值的第一个