我开始Process然后我想确保它将被正确关闭.我曾经习惯Process.Close()关闭它,但有时它仍然锁定了资源.我可以看到我们有Process.Dispose()方法.我只是想知道它们之间的实际差异是什么,我是否应该将它们都称为确保流程将被关闭?
p.Dispose();
p.Close();
Run Code Online (Sandbox Code Playgroud)
该
Dispose方法调用Close.将Process对象放置在using块中可以在不需要调用的情况下处理资源Close.
这意味着,没有区别.在内部,据我所知Close,.NET中的所有方法都调用Dispose方法.
如果你看参考源 ;
public void Close()
{
...
m_processHandle.Close();
...
}
Run Code Online (Sandbox Code Playgroud)
并且这个方法调用 ;
public void Close() {
Dispose(true);
}
Run Code Online (Sandbox Code Playgroud)
您应该始终using对Process对象使用statement .它允许尽早清理资源,因此您无需等到它们收集垃圾.