在C#class Process
繼承自class Component
,實施IDisposable
,所以我可以撥打Dispose()
任何Process
對象。我真的必須嗎?我如何知道我是否真的必須?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
對象,我該如何決定是否需要這樣做?
反射時間? –