一旦完成,我是否必须销毁一个物体?

Joh*_*ann 3 c# destructor class object

在C#中,一旦完成它,我是否必须始终销毁它?如果没有,我必须在什么条件下销毁对象并调用析构函数?如果我不破坏物体会发生什么?优缺点都有什么?

简单示例:

Help h = new Help();

h.program_name = "myprogram.exe";
h.release_date = "01/10/2013";
h.version_number = "1.2.0.0"; 

if (args.Length > 0)
{
    if ((args[0] == "-help") || (args[0] == "-version")||(args[0] == "/?"))
    {
        h.writeline();
    }
}
Run Code Online (Sandbox Code Playgroud)

Jus*_*ner 11

除非对象实现了IDisposable界面,否则当您使用它时,您无需对其进行任何操作.

让垃圾收集器完成它的工作,一切都将在世界上做得很好.


its*_*e86 5

只需要明确处理处理非托管资源的对象.这些类型应该实现IDisposable接口.处理这些对象的好方法是使用using关键字:

using (SqlConnection conn = new SqlConnection(...))
{
    // ...do stuff with conn
}  // conn.Dispose() will automatically be called here
Run Code Online (Sandbox Code Playgroud)

  • @JohnRyann最大的线索是他们实现IDisposable. (3认同)