新聞中心
這篇文章主要介紹C#類型和C#變量的示例分析,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
信陽(yáng)網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)于2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
C#類型有兩種:值類型(value type)和引用類型(reference type)。值類型變量直接包括它們的數(shù)據(jù),而引用類型變量存儲(chǔ)的是它們的數(shù)據(jù)引用,后者被認(rèn)為是對(duì)象。對(duì)于引用類型,有可能兩個(gè)變量引用相同的對(duì)象,因此對(duì)其中一個(gè)變量的操作可能影響另一個(gè)對(duì)象引用的對(duì)象。對(duì)于值類型,每個(gè)變量都有自己的數(shù)據(jù)拷貝,因此對(duì)一個(gè)變量的操作不可能影響其他變量(ref和out參數(shù)變量例外)。
C#的值類型進(jìn)一步劃分為簡(jiǎn)單類型(simple type)、枚舉類型(enum type)和結(jié)構(gòu)類型(struct type);C#的引用類型進(jìn)一步劃分為類類型(class type)、接口類型(interface type)、數(shù)組類型(array type)和委托類型(delegate type)。
表1.1為整個(gè)C#類型系統(tǒng)的概述。
表1.1 C#類型系統(tǒng)的概述
8個(gè)整型類型分別支持8位、16位、32位和64位整數(shù)的有符號(hào)或者無符號(hào)格式。
兩個(gè)浮點(diǎn)類型,float和double,分別用32位單精度和64位雙精度的IEEE754格式表示。
decimal是128位的數(shù)據(jù)類型,適合財(cái)金和貨幣方面的計(jì)算。
C#的bool類型用于表示布爾值——true或者false。
在C#中,字符和字符串的處理使用Unicode編碼。char類型表示16位的Unicode編碼單元,string類型表示16位的Unicode編碼單元的序列。
表1.2總結(jié)了C#的數(shù)值類型。
表1.2 C#的數(shù)值類型
C#程序使用類型聲明創(chuàng)建新類型。類型聲明指定新類型的名字和成員。有5種C#類型可由用戶自定義:類類型、結(jié)構(gòu)類型、接口類型、枚舉類型和委托類型。
類類型定義了一個(gè)數(shù)據(jù)結(jié)構(gòu),它包括數(shù)據(jù)成員(字段)和函數(shù)成員(方法、屬性及其他)。類類型支持繼承和多態(tài),即派生類能夠擴(kuò)展和特殊化基類的機(jī)制。
結(jié)構(gòu)類型與類類型相似,表示帶有數(shù)據(jù)成員和函數(shù)成員的結(jié)構(gòu)。然而,與類類型不同的是,結(jié)構(gòu)是值類型,不需要堆分配。結(jié)構(gòu)不支持用戶指定的繼承,所有的結(jié)構(gòu)類型隱式地繼承類型object。
接口類型定義了一個(gè)約定,作為一組函數(shù)成員命名的集合。實(shí)現(xiàn)接口的類或結(jié)構(gòu)必須提供接口函數(shù)成員的實(shí)現(xiàn)。接口可能從多個(gè)基接口繼承而來,類或結(jié)構(gòu)也可能實(shí)現(xiàn)多個(gè)接口。
枚舉類型是帶有命名常量的獨(dú)特類型。每個(gè)枚舉類型有一個(gè)底層的類型,它必須是8個(gè)整型類型之一。枚舉類型的值集與底層類型的值集相同。
委托類型通過特定的參數(shù)列表和返回類型表示對(duì)方法的引用。委托將方法處理為實(shí)體,實(shí)體能夠賦值給變量,并且當(dāng)做參數(shù)傳遞。委托類似于某些程序語(yǔ)言中的方法指針,不同之處在于,委托是面向?qū)ο蟮模⑶沂穷愋桶踩摹?/p>
C#支持任何類型的一維和多維數(shù)組。不同于其他類型,數(shù)組類型在它們被使用前不必聲明。事實(shí)上,數(shù)組類型的構(gòu)造是由某個(gè)類型名加上方括號(hào)。例如,int[]是int的一維數(shù)組,int[,]是int的二維數(shù)組,而int[][]是int的一維數(shù)組的一維數(shù)組。
C#類型系統(tǒng)是統(tǒng)一的,這樣任何類型的值都能夠被處理成對(duì)象。C#中每一個(gè)類型直接或者間接從object類繼承而來,并且object是所有類型最終的基類。值類型的值可以通過執(zhí)行裝箱(boxing)和取消裝箱(unboxing)的操作處理為對(duì)象。在下面的示例中,int被轉(zhuǎn)換為object,然后又轉(zhuǎn)回到int。
using System; class Test { static void Main(){ int i=123; object o=i; //裝箱 int j=(int)o; //取消裝箱 } }
當(dāng)值類型的值被強(qiáng)制類型轉(zhuǎn)換為object時(shí),就會(huì)分配持有該值的對(duì)象實(shí)例(也稱為“箱子”),并且值也被拷貝到那個(gè)箱子里。相反地,當(dāng)object引用被強(qiáng)制類型轉(zhuǎn)換為值類型時(shí),要檢查這個(gè)引用類型是否是當(dāng)前值類型的箱子,如果是的話,箱子中的值就會(huì)被拷貝出來。
C#統(tǒng)一的類型系統(tǒng)意味著值類型能夠“按需”轉(zhuǎn)換為對(duì)象。由于這種統(tǒng)一性,使用object類型的通用類庫(kù),例如.NET框架中的集合類,能夠通過引用類型和值類型使用。
存在幾種C#變量,包括字段、數(shù)組元素、局部變量和參數(shù)。變量表示了存儲(chǔ)的位置,并且每一個(gè)變量都有一個(gè)類型,以決定什么樣的值能夠存入變量中,如表1.3所示。
表1.3 C#變量
以上是“C#類型和C#變量的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
文章標(biāo)題:C#類型和C#變量的示例分析
文章位置:http://ef60e0e.cn/article/gegieh.html