真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何理解C#值類型和引用類型

本篇內(nèi)容主要講解“如何理解C#值類型和引用類型”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“如何理解C#值類型和引用類型”吧!

創(chuàng)新互聯(lián)服務(wù)項目包括新樂網(wǎng)站建設(shè)、新樂網(wǎng)站制作、新樂網(wǎng)頁制作以及新樂網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,新樂網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到新樂省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

C#值類型數(shù)據(jù)直接在他自身分配到的內(nèi)存中存儲數(shù)據(jù),而C#引用類型只是包含指向存儲數(shù)據(jù)位置的指針。

那么有哪些類型是C#值類型的呢,我把他們歸納成三類:

基礎(chǔ)數(shù)據(jù)類型(string類型除外):包括整型、浮點型、十進(jìn)制型、布爾型。

整型包括:sbyte、byte、char、short、ushort、int、uint、long、ulong 這九種類型;

浮點型就包括 float 和 double 兩種類型;

十進(jìn)制型就是 decimal ;

布爾型就是 bool 型了。

結(jié)構(gòu)類型:就是 struct 型

枚舉類型:就是 enum 型

引用類型有五種:class、interface、delegate、object、string

上面說的是怎么區(qū)分哪些C#值類型和C#引用類型,而使用上也是有區(qū)別的。所有值類型的數(shù)據(jù)都無法為null的,聲明后必須賦以初值;引用類型才允許為null。

int i = 0;   //或者   int i = new int();   //以上兩種都是可以正確的且是等同的   int i = null;//這樣的語句是無法通過編譯的,因為i是值類型的,是不允許為null的   class c = null;//這樣則是可以通過編譯的,這里的c是引用類型的,允許為null

值類型和引用類型在賦值(或者說復(fù)制)的時候也是有區(qū)別的。值類型數(shù)據(jù)在賦值的時候是直接復(fù)制值到新的對象中,而引用類型則只是復(fù)制對象的引用。例如:

public class abc   {   public int Attribute;   public abc()   {   Attribute = 1;   }   }   public static void Main()   {   int i = 0;   int j = i;   i = 1;   Console.WriteLine("i={0}",i);   Console.WriteLine("j={0}",j);   //結(jié)果是:   //i=1   //j=0   abc a1 = new abc();   abc a2 = a1;   a1.Attribute = 2;   Console.WriteLine("a1={0}",a1.Attribute);   Console.WriteLine("a2={0}",a2.Attribute);   //結(jié)果是:   //a1=2   //a1=2   }

這個例子就很好的說明了值類型和引用類型的不同了。

還有值C#類型要么是分配在堆棧的,要么就是在結(jié)構(gòu)中以內(nèi)聯(lián)方式分配的。C#引用類型是分配在堆的。C#引用類型和C#值類型都是從基類 Object 派生出來的。當(dāng)C#值類型需要充當(dāng)對象時,就在堆上分配一個包裝(該包裝能使值類型看上去像引用對象一樣),并且將該值類型的值復(fù)制給它。該包裝被加上標(biāo)記,以便系統(tǒng)知道它包含一個值類型。這個進(jìn)程稱為裝箱,反過來操作就稱為拆箱。裝箱和拆箱能夠使任何類型像對象一樣進(jìn)行處理。

到此,相信大家對“如何理解C#值類型和引用類型”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


分享名稱:如何理解C#值類型和引用類型
文章URL:http://weahome.cn/article/pcdsph.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部