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

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

C#的類型基礎(chǔ)都有哪些

本篇文章為大家展示了C#的類型基礎(chǔ)都有哪些,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),新密企業(yè)網(wǎng)站建設(shè),新密品牌網(wǎng)站建設(shè),網(wǎng)站定制,新密網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,新密網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

我們先簡(jiǎn)單回顧一下C#中的類型系統(tǒng)。C#中的類型一共分為兩類,一類是值類型(ValueType),一類是引用類型(ReferenceType)。值類型和引用類型是以它們?cè)谟?jì)算機(jī)內(nèi)存中是如何被分配的來劃分的。值類型包括結(jié)構(gòu)和枚舉,引用類型包括類、接口、委托等。還有一種特殊的值類型,稱為簡(jiǎn)單類型(SimpleType),比如byte,int等,這些簡(jiǎn)單類型實(shí)際上是FCL類庫(kù)類型的別名,比如聲明一個(gè)int類型,實(shí)際上是聲明一個(gè)System.Int32結(jié)構(gòu)類型。因此,在Int32類型中定義的操作,都可以應(yīng)用在int類型上,比如“123.Equals(2)”。

所有的值類型都隱式地繼承自System.ValueType類型(注意System.ValueType本身是一個(gè)類類型),System.ValueType和所有的引用類型都繼承自System.Object基類。你不能顯示地讓結(jié)構(gòu)繼承一個(gè)類,因?yàn)镃#不支持多重繼承,而結(jié)構(gòu)已經(jīng)隱式繼承自ValueType。

值類型

當(dāng)聲明一個(gè)值類型的變量(Variable)的時(shí)候,變量本身包含了值類型的全部字段,該變量會(huì)被分配在線程堆棧(ThreadStack)上。

當(dāng)我們?cè)诔绦蛑袑懴逻@樣的一條變量的聲明語(yǔ)句時(shí):

ValPointvPoint1;

實(shí)際產(chǎn)生的效果是聲明了vPoint1變量,變量本身包含了值類型的所有字段(即你想要的所有數(shù)據(jù))。

因?yàn)樽兞恳呀?jīng)包含了值類型的所有字段,所以,此時(shí)你已經(jīng)可以對(duì)它進(jìn)行操作了(對(duì)變量進(jìn)行操作,實(shí)際上是一系列的入棧、出棧操作)。

解決這個(gè)問題我們可以通過這樣一種方式:編譯器隱式地會(huì)為結(jié)構(gòu)類型創(chuàng)建了無參數(shù)構(gòu)造函數(shù)。在這個(gè)構(gòu)造函數(shù)中會(huì)對(duì)結(jié)構(gòu)成員進(jìn)行初始化,所有的值類型成員被賦予0或相當(dāng)于0的值(針對(duì)Char類型),所有的引用類型被賦予null值。(因此,Struct類型不可以自行聲明無參數(shù)的構(gòu)造函數(shù))。所以,我們可以通過隱式聲明的構(gòu)造函數(shù)去創(chuàng)建一個(gè)ValPoint類型變量:

ValPointvPoint1=newValPoint();

Console.WriteLine(vPoint.x);//輸出為0

我們將上面代碼第一句的表達(dá)式由“=”分隔拆成兩部分來看:

左邊ValPointvPoint1,在堆棧上創(chuàng)建一個(gè)ValPoint類型的變量vPoint,結(jié)構(gòu)的所有成員均未賦值。在進(jìn)行newValPoint()之前,將vPoint壓到棧上。

右邊newValPoint(),new操作符不會(huì)分配內(nèi)存,它僅僅調(diào)用ValPoint結(jié)構(gòu)的默認(rèn)構(gòu)造函數(shù),根據(jù)構(gòu)造函數(shù)去初始化vPoint結(jié)構(gòu)的所有字段。

上述內(nèi)容就是C#的類型基礎(chǔ)都有哪些,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


標(biāo)題名稱:C#的類型基礎(chǔ)都有哪些
文章來源:http://weahome.cn/article/jogpcj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部