set xxx=nothing就是把對象占用的空間釋放掉。 其他的局部變量都在棧內(nèi)存,用完會自動釋放的
成都創(chuàng)新互聯(lián)技術(shù)團隊十余年來致力于為客戶提供網(wǎng)站制作、網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計、營銷型網(wǎng)站、搜索引擎SEO優(yōu)化等服務(wù)。經(jīng)過多年發(fā)展,公司擁有經(jīng)驗豐富的技術(shù)團隊,先后服務(wù)、推廣了千余家網(wǎng)站,包括各類中小企業(yè)、企事單位、高校等機構(gòu)單位。
不用刻意去釋放局部變量,因為局部變量開辟的
內(nèi)存空間會隨著過程或函數(shù)的結(jié)束而自動釋放。
注意:全局變量只在整個程序結(jié)束時才會釋放,
所以盡量少用全局變量。
.NET目前的垃圾回收機制不能實現(xiàn)把對象真正的立即釋放掉,GC會對垃圾進行管理,如果垃圾沒有引用計數(shù)了,就會被回收。
編碼的時候能用托管類盡量用托管類去實現(xiàn)你的功能,
對于實現(xiàn)了IDisposable接口的類,用完了記得調(diào)用close或者Dispose又或者相應(yīng)的方法去釋放資源,最好吧使用using語句塊;
對于Com對象,用完了先關(guān)閉,然后調(diào)用Runtime.InteropServices.Marshal.FinalReleaseComObject()方法把Com對象的引用計數(shù)設(shè)置為0。當(dāng) COM 對象的引用計數(shù)變?yōu)?0 時,通常會釋放 COM 對象,不過這取決于 COM
對象的實現(xiàn),而不是運行時可以控制的。最后調(diào)用ComObj = Nothing以釋放ComObj持有的引用。不過要注意,只有當(dāng)ComObj的生存期相對于垃圾回收器用于檢測孤立對象的時間來說很長時,你才應(yīng)該將變量設(shè)置為 Nothing。
有部分來自MSDN