欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

C#引用類型之按值傳遞,按引用傳遞的對(duì)比示例-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)C#引用類型之按值傳遞,按引用傳遞的對(duì)比示例的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)專業(yè)成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè),集網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、網(wǎng)站制作于一體,網(wǎng)站seo、網(wǎng)站優(yōu)化、網(wǎng)站營銷、軟文推廣等專業(yè)人才根據(jù)搜索規(guī)律編程設(shè)計(jì),讓網(wǎng)站在運(yùn)行后,在搜索中有好的表現(xiàn),專業(yè)設(shè)計(jì)制作為您帶來效益的網(wǎng)站!讓網(wǎng)站建設(shè)為您創(chuàng)造效益。

1,按值傳遞

值按值傳遞,引用類型按值傳遞的實(shí)質(zhì)的是傳遞值,參數(shù)為值類型時(shí),“值”為實(shí)例本身,因此傳遞的是實(shí)例拷貝,不會(huì)對(duì)原來的實(shí)例產(chǎn)生影響;參數(shù)為引用類型時(shí),“值”為對(duì)象引用,因此傳遞的是引用地址拷貝,會(huì)改變?cè)瓉韺?duì)象的引用指向。
string是引用類型,string按值傳遞的效果與值類型按值傳遞效果一樣,string在這里比較特殊。
調(diào)用方法發(fā)生參數(shù)傳遞時(shí),方法根據(jù)參數(shù)類型先在stack創(chuàng)建一個(gè)變量,然后將參數(shù)的值賦值給該變量。所以,值類型與string類型傳遞實(shí)例不變,引用類型傳遞地址改變。但如果是按引用傳遞,則都是傳遞地址,實(shí)例的值都會(huì)發(fā)生改變。

2,按引用傳遞
按引用傳遞之ref和out,不管是值類型還是引用類型,按引用傳遞必須以ref或者out關(guān)鍵字來修飾,ref要求傳遞之前的參數(shù)必須首先顯示初始化,而out不需要。也就是說,使用ref的參數(shù)必須是一個(gè)實(shí)際的對(duì)象,而不能指向null;而使用out的參數(shù)可以接受指向null的對(duì)象,然后在調(diào)用方法內(nèi)部必須完成對(duì)象的實(shí)體化。

值類型按引用傳遞時(shí),不會(huì)對(duì)值類型裝箱。

按引用傳遞,傳遞的不是參數(shù)本身的值,而是參數(shù)的地址。如果參數(shù)為值類型,則傳遞的是該值類型的地址;如果參數(shù)為引用類型,則傳遞的是對(duì)象引用的地址,引用類型按引用傳遞結(jié)果和按值按引用傳遞一樣。

int i = 100;//Ref需要顯示初始化
int j;//out不需要顯示初始化
Fun(ref i,out j);
void Fun(ref int i,out int j)
    {
        j = 100;//out必須完成對(duì)象的實(shí)體化
    }

如下:

private void Awake()
    {
        SenderTest st = GetComponent<SenderTest>();//實(shí)例化類的對(duì)象
        st.i = 100;
        int i = 100;
        string s = "100";
        ChangeValue(i,s, st);//值類型,引用類型,按值傳遞
        print("value "+i+s+st.i);//value 100 100 200
        ChangeValue(ref i, ref s, ref st);//值類型,引用類型,按引用傳遞
        print("ref "+i + s + st.i);//ref 200 200 200
    }
    void ChangeValue(int i, string s, SenderTest st)
    {
        i = 200;
        s = "200";
        st.i = 200;
    }
    void ChangeValue(ref int i, ref string s, ref SenderTest st)
    {
        i = 200;
        s = "200";
        st.i = 200;
    }

感謝各位的閱讀!關(guān)于“C#引用類型之按值傳遞,按引用傳遞的對(duì)比示例”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

分享標(biāo)題:C#引用類型之按值傳遞,按引用傳遞的對(duì)比示例-創(chuàng)新互聯(lián)
本文路徑:http://www.chinadenli.net/article4/djdsoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站搜索引擎優(yōu)化企業(yè)建站App設(shè)計(jì)自適應(yīng)網(wǎng)站商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)