2014-02-20 76 views
-3

所以我撞到在此:什么是在函数声明之前有一个〜的函数?

Public Stam { 
     public Stam() {Console.WriteLine("Stam");} 

     ~Stam(){Console.WriteLine("Stam")} 
     } 

到底是什么〜?当我打电话给Stam类时会发生什么。

+2

终结者。而你不叫课堂。 –

+0

@ ta.speot.is当我指的是呼叫类,我的意思是指的类或初始化做点什么 – Bodokh

+0

这是一个终结器/析构函数。如果在你的代码中出现这种情况,你几乎肯定会出错。 – CodesInChaos

回答

0

在这种情况下,~ operator被用于表示类的析构函数,destructors被自动调用为清理过程的一部分。

但是,~也可用于按位补码操作。

0

它是这个类的析构函数。据时自动调用这个类的一个实例被删除,你用它来删除对象等

0

在C#中,它被称为Destructor,相当于C++的析构函数是IDisposableDispose()方法,往往在使用块使用。

System.IDisposable from MSDN

你所调用析构函数是更好的被称为Finalizer.

相关问题