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

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

急急急! c# 對象生命周期問題

急急急! c# 對象生命周期問題

小怪獸愛吃肉 2018-12-06 11:22:23
void Method() { ????????? MyClass x = new? MyClass(); } MyClass是我自己定義的類,我在此實例化了一個對象,指針存x,實際的對象在堆內(nèi),當(dāng)我在其他地方想再訪問這個對象時怎么訪問?? 因為?? 出了Method函數(shù)? 那么指針x應(yīng)該就被釋放了,還有那么實際的對象? 是什么時候會被回收。如何接著訪問那個對象,多謝謝 急急急!
查看完整描述

10 回答

?
qq_笑_17

TA貢獻1818條經(jīng)驗 獲得超7個贊

問題的關(guān)鍵是方法是在線程棧中執(zhí)行的,而你的對象指針并沒有通過線程棧傳遞到另一個方法中,你創(chuàng)建的對象即使CLR還沒有進行回收,也就是說還在內(nèi)存中,但是你的代碼并不知道對象的地址是什么,對嗎?

所以要解決有兩個辦法:一參數(shù)傳遞給另一個方法,二 用一個靜態(tài)的字段持有住你對象的引用..比如一個類中定義一個靜態(tài)的集合字段,你的對象添加進去.因為靜態(tài)字段屬于類型,而類型的地址在CLR看來是加載了類型后,就不會改變的,除非AppDomain被卸載.

查看完整回答
反對 回復(fù) 2019-01-21
?
蕭十郎

TA貢獻1815條經(jīng)驗 獲得超13個贊

出了作用域是訪問不了的,不管還有沒有被回收

是要重用嗎?可以用單例模式創(chuàng)建

查看完整回答
反對 回復(fù) 2019-01-21
?
森林海

TA貢獻2011條經(jīng)驗 獲得超2個贊

@K4:

如果要在多處使用可以考慮用全局變量或傳遞參數(shù)

查看完整回答
反對 回復(fù) 2019-01-21
?
達令說

TA貢獻1821條經(jīng)驗 獲得超6個贊

哦,多謝您??墒俏? 生成的對象是當(dāng)我點擊按鈕是動態(tài)生成的,不能提前定義啊。而且是每點擊一次都生成一個對象的。

怎么辦?

查看完整回答
反對 回復(fù) 2019-01-21
?
皈依舞

TA貢獻1851條經(jīng)驗 獲得超3個贊

@K4:

不太清楚你的真實需求是什么,如果確定要產(chǎn)生多個對象可以在創(chuàng)建對象后放在一個泛型列表中。

查看完整回答
反對 回復(fù) 2019-01-21
  • 10 回答
  • 0 關(guān)注
  • 437 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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