第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果.NET中的MemoryStream未關(guān)閉,是否會創(chuàng)建內(nèi)存泄漏?

如果.NET中的MemoryStream未關(guān)閉,是否會創(chuàng)建內(nèi)存泄漏?

小怪獸愛吃肉 2019-09-02 15:53:23
我有以下代碼:MemoryStream foo(){    MemoryStream ms = new MemoryStream();    // write stuff to ms    return ms;}void bar(){    MemoryStream ms2 = foo();    // do stuff with ms2    return;}我分配的MemoryStream是否有可能以后不能被處理掉?我有一個同行評審堅持我手動關(guān)閉它,我找不到信息來判斷他是否有一個有效點。
查看完整描述

3 回答

?
慕桂英3389331

TA貢獻(xiàn)2036條經(jīng)驗 獲得超8個贊

你不會泄漏任何東西 - 至少在當(dāng)前的實施中。

調(diào)用Dispose不會更快地清理MemoryStream使用的內(nèi)存。它被可行的通話,這可能會或可能不會對你有用后讀/寫調(diào)用停止您的流。

如果你完全確定你永遠(yuǎn)不想從MemoryStream轉(zhuǎn)移到另一種流,那么不打算不調(diào)用Dispose會對你造成任何傷害。然而,這通常是一種很好的做法,部分原因是如果你做了改變以使用不同的Stream,你不希望被難以發(fā)現(xiàn)的bug所困擾,因為你很早就選擇了簡單的方法。(另一方面,有YAGNI的論點......)

無論如何,這樣做的另一個原因是新實現(xiàn)可能會引入將在Dispose上釋放的資源。


查看完整回答
反對 回復(fù) 2019-09-02
  • 3 回答
  • 0 關(guān)注
  • 1902 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號