对于C#来说,不像C++那样在一个对象使用完毕后要free,例如p.free,来释放p所引用对象所占用的资源,因为它自己有一套垃圾回收机制,这样的话,无论对于开发者还是程序的健壮性来说都是有好处的。
但是,C#中的Process类提供了Close()方法,用来释放Process对象所关联的资源,这是为什么呢?我们可以这么理解,如果我们在用完了Process对象之后没有用Close()方法,那么,C#会自动的调用垃圾处理机制,来处理没有free的对象,例如Process p,但是,虽然p被垃圾回收机制处理了,但是p所关联的Process资源是否被处理了呢?
答案是没有,所以,我们在调用Process类的对象完成之后,应该调用Close()方法来释放Process类对象所关联的资源。