一个简单的析构函数程序在调试时给出了不同的输出然后运行它?

时间:2015-03-19 11:39:59

标签: c#

namespace ConsoleApplication2
{
    class Program
    {
        class A
        {
            int x, y;
            public A(int a, int b) { x = a; y = b; }
            public int add() { return x + y; }
            public int sub() { return x - y; }
            ~A()
            {
                Console.WriteLine("Detroyed");
            }
        }
        static void Main(string[] args)
        {
            A ob = new A(9, 4);
            Console.WriteLine(ob.add());
            Console.WriteLine(ob.sub());
            ob = null;
            System.GC.Collect();
            Console.WriteLine("End");
            Console.Read();
        }
    }
}

正在运行的输出

11
5
End
Destroyed

但在调试模式下,它会提供此输出

11
5
Destroyed
End

0 个答案:

没有答案