我有这个简单的代码并试图调用析构函数,但我无法调用它 :(
我知道GarbageCollector在必要时运行,所以我使用了GC.WaitForPendingFinalizers(); 但它也没有起作用。
这是我的代码:
class Program
{
static void Main(string[] args)
{
Calculator calculator = new Calculator();
Console.WriteLine("{0} / {1} = {2}", 120, 15, calculator.Divide(120, 15)
GC.Collect();
GC.WaitForPendingFinalizers();
Console.WriteLine("Program finishing");
}
}
class Calculator
{
// Constructor
public Calculator()
{
Console.WriteLine("Calculator being created");
}
// Public Divide method
public int Divide(int first, int second)
{
return first / second;
}
// Destructor
~Calculator()
{
Console.WriteLine("Destructor is called");
}
}
以下是我的输出:
正在创建计算器
120 / 15 = 8
程序结束
我做错了什么?为什么我看不到 "Destructor is called"?