Tag: idisposable

Process.Dispose()实际上做了什么?

在C# class Processinheritance自实现IDisposable class Component ,因此我可以在任何Process对象上调用Dispose() 。 我真的需要吗? 我怎么知道我真的需要? 假设我有以下代码: var allProcesses = System.Diagnostics.Process.GetProcesses(); var processesNames = processes.Select( p => p.ProcessName ); // output process names here 现在看起来我有一个Process对象数组,我已经制作了一个try-finally来遍历数组和Dispose()每个对象。 这肯定是很多额外的代码。 Dispose()对Process对象做了什么? 我是否真的需要Dispose()每个Process对象,我如何决定是否需要这样做?

什么是IDisposable?

如果.NET有垃圾收集,那你为什么要显式调用IDisposable ?