做什么〜

时间:2014-05-07 18:20:38

标签: c#

post包含以下源代码:

class Foo 
{ 
    private int x;
    private int y;
    public Foo(int x, int y) 
    {
        this.x = x;
        this.y = y;
        SideEffects.Alpha(); // Notice: does not use "this"
    }
    ~Foo() 
    { 
        SideEffects.Charlie(); 
    }
}
static class SideEffects
{
    public static void Alpha() { ... }
    public static void Bravo() { ... }
    public static void Charlie() { ... }
    public static void M()
    {
        Foo foo = new Foo(1, 2); 
        Bravo();
    }
}

~做什么?

3 个答案:

答案 0 :(得分:3)

它用于C#中的Destructor,它隐式调用Finalize方法。

  

析构函数用于销毁类的实例。

     

析构函数隐式调用了基类的Finalize   对象

     

程序员无法控制何时调用析构函数   因为这是由垃圾收集器决定的。垃圾   收集器检查不再被使用的对象   应用。如果它认为某个对象有资格进行销毁,那么   调用析构函数(如果有的话)并回收用于存储的内存   物体。程序退出时也会调用析构函数。

答案 1 :(得分:1)

它是C#Destructor的符号。有一个详细的答案here

答案 2 :(得分:1)

〜符号也用于声明析构函数~ Operator (C# Reference)