2010-08-31 70 views

回答

9

不,Dispose是處理不由GC管理的資源的方法。字符串只是一個常規的管理對象,因此會被垃圾回收自動回收。

+0

託管對象的含義是什麼?請指導我。 – 2010-08-31 06:12:29

+0

@Latit:託管對象是引用類型的實例。它是通過實例化類型來分配的,並且在某個點垃圾收集期間相關內存會自動回收。只要對象不使用任何非託管資源(如操作系統句柄),就沒有理由甚至無法實現IDisposable接口。 – 2010-08-31 09:08:00

2

Dispose是釋放所有的外部資源,string和int是簡單的數據類型,沒有外部資源。

0

處理對象不是你想要做的事情,而是你必須做的事情。內存通常由垃圾回收器進行管理,從而釋放未使用的內存。未使用意味着您的應用程序中沒有任何指向該對象的引用。

有垃圾收集器無法(或應該)管理的資源。他們被稱爲「非託管資源」。例如:磁盤上的文件或與數據庫的連接。他們明確地打開和關閉。

Dispose是釋放此資源的常用方法。 using關鍵字對此很有幫助。

如果你不得不處置字符串和整數,你的代碼會變得非常非常複雜。

0

對於將「掛鉤」放入其他對象(例如事件處理程序)的對象,Dispose也是必需的。例如,如果某個對象訂閱了更改另一個對象的通知,則需要讓該其他對象知道何時不應再發送此類通知。

相關問題