C#基礎(chǔ)編程----類型和變量-創(chuàng)新互聯(lián)

   C#中的類型有兩種:值類型(Value Type)和引用類型(Reference Type)。值類型的變量直接包含它們的數(shù)據(jù),而引用類型的變量存儲(chǔ)對(duì)它們的數(shù)據(jù)的引用,后者稱為對(duì)象。對(duì)于引用類型,兩個(gè)變量可能引用同一個(gè)對(duì)象,因此對(duì)一個(gè)變量的操作可能影響另一個(gè)變量所引用的對(duì)象。對(duì)于值類型,每個(gè)變量都有它們自己數(shù)據(jù)的副本(除ref和out參數(shù)變量外),因此對(duì)一個(gè)變量的操作不可能影響另一個(gè)變量。

成都創(chuàng)新互聯(lián)作為成都網(wǎng)站建設(shè)公司,專注成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì),有關(guān)成都企業(yè)網(wǎng)站建設(shè)方案、改版、費(fèi)用等問題,行業(yè)涉及木屋等多個(gè)領(lǐng)域,已為上千家企業(yè)服務(wù),得到了客戶的尊重與認(rèn)可。

   C#值類型可分為簡(jiǎn)單類型(Simple Type)、枚舉類型(Enum Type)、結(jié)構(gòu)類型(Struct Type)和可以為null(Nullale Type)的類型。

   C#引用類型可分為類類型(Class Type)、接口類型(Interface Type)、數(shù)組類型(Array Type)和委托類型(Delegate Type)。

   C#值類型(Value Type):

   1. 簡(jiǎn)單類型(Simple Type):

       有符號(hào)整型:sbyte(8 bit), short(16 bit), int(32 bit), long(64 bit)

       無(wú)符號(hào)整型:byte(8 bit), ushort(16 bit), uint(32 bit), ulong(64 bit)

       Unicode字符:char,表示一個(gè)UTF-16編碼單元。

       浮點(diǎn)型:float(32 bit), double(64 bit),它們使用單精度和雙精度的IEEE754格式表示。

       高精度小數(shù)型:decimal(128 bit),適合用于財(cái)務(wù)計(jì)算和貨幣計(jì)算。

       布爾型:bool,用于表示值為true和false的布爾值。

   2. 枚舉類型(Enum Type):

       enum E { ... }形式的用戶自定義類型

   3. 結(jié)構(gòu)類型(Struct Type):

       struct S { ... }形式的用戶自定義類型

   4. 可以為null的類型(Nullable Type):

       其他所有具有null值的值類型的擴(kuò)展

   C#引用類型(Reference Type):

   1. 類類型(Class Type):

       所有其他類型的最終基類:object

       Unicode字符串:string

       class C { ... }形式的用戶自定義類型

   2. 接口類型(Interface Type):

       interface I { ... }形式的用戶自定義類型

   3. 數(shù)組類型(Array Type):

       一維數(shù)組和多維數(shù)組,例如int[]和int[,]

   4. 委托類型(Delegate Type):

       delegate int D( ... )形式的用戶自定義類型 

   C#值類型中簡(jiǎn)單類型的取值范圍:

   有符號(hào)整型:

   sbyte, 8 bit,取值范圍:-128 ~ 127

   short, 16 bit, 取值范圍:-32678 ~ 32767

  int, 32 bit, 取值范圍:-2147483648 ~ 2147483647

   long, 64 bit, 取值范圍:–9223372036854775808 ~ 9223372036854775807

   無(wú)符號(hào)整型:

   byte, 8 bit, 取值范圍:0 ~ 255

   ushort, 16 bit, 取值范圍:0 ~ 65535

   uint, 32 bit, 取值范圍:0 ~ 4294967295

   ulong, 64 bit, 取值范圍:0 ~ 18446744073709551615

   浮點(diǎn)型:

   float, 32 bit, 取值范圍:1.5 * 10^-45 ~ 3.4 * 10 ^ 38,7位精度

   double, 64 bit, 取值范圍:1.5 * 10^-324 ~ 1.7 * 10^308,15位精度

   高精度小數(shù)型:

   decimal, 128 bit, 取值范圍:1.0 * 10^-28 ~ 7.9 * 10^28,28位精度

   字符型:

   char, 16 bit, 取值范圍:0 ~ 65535

   布爾型:

   bool, 取值范圍:true/false   

   C#程序使用類型聲明(Type Declaration)來(lái)創(chuàng)建新類型。類型聲明指定***手類型的名稱和成員。在C#類型分類中,有五類是用戶可定義的:類類型、結(jié)構(gòu)類型、接口類型、枚舉類型和委托類型。

   類類型定義一個(gè)包含數(shù)據(jù)成員和函數(shù)成員的數(shù)據(jù)結(jié)構(gòu)。類類型支持單一繼承和多態(tài),派生類可用來(lái)擴(kuò)展和專用化基類的機(jī)制。

   結(jié)構(gòu)類型與類類型相似,表示一個(gè)帶有數(shù)據(jù)成員和函數(shù)成員的結(jié)構(gòu)。但是,與類不同,結(jié)構(gòu)是一種值類型,并且不需要堆分配。結(jié)構(gòu)類型不支持用戶指定的繼承,并且所有結(jié)構(gòu)類型都隱式地從類型object繼承。

   接口類型定義了一個(gè)協(xié)定,作為一個(gè)公共函數(shù)成員的命名集。實(shí)現(xiàn)某個(gè)接口的類或結(jié)構(gòu)必須提供該接口的函數(shù)成員的實(shí)現(xiàn)。一個(gè)接口可以從多個(gè)基接口繼承,而一個(gè)類或結(jié)構(gòu)可以實(shí)現(xiàn)多個(gè)接口。

   委托類型表示對(duì)具有特定參數(shù)列表和返回類型的方法的引用。通過委托,我們能夠?qū)⒎椒ㄗ鳛閷?shí)體賦值給變量和作為參數(shù)傳遞。委托類似于在其他某些語(yǔ)言中的函數(shù)指針的概念,但是與函數(shù)指針不同,委托是面向?qū)ο蟮?,并且是類型安全的?/p>

   類類型、結(jié)構(gòu)類型、接口類型和委托類型都支持泛型,困此可以通過其他類型將其參數(shù)化。

   枚舉類型是具有命名常量的獨(dú)特的類型。每種枚舉類型都具有一個(gè)基礎(chǔ)類型,該基礎(chǔ)類型必須是八種整型之一。枚舉類型的值集和它的基礎(chǔ)類型的值集相同。

   C#支持由任何類型組成的一維和多維數(shù)組。與以上列出的類型不同,數(shù)組類型不必聲明就可以使用。實(shí)際上,數(shù)組類型是通過在某個(gè)類型名后加一對(duì)方括號(hào)來(lái)構(gòu)造的。

   可以為null的類型也不必聲明就可以使用。對(duì)于每個(gè)不可以為ull的值類型T,都有一個(gè)相應(yīng)的可以為null的類型T?,該類型可以容納附加值null。

   C#的類型系統(tǒng)是統(tǒng)一的,因此任何類型的值都可以按對(duì)象處理。C#中的每個(gè)類型直接或間接地從object類類型派生,而object是所有類型的最終基類。引用類型的值都被視為object類型,被簡(jiǎn)單地當(dāng)作對(duì)象來(lái)處理。值類型的值則通過對(duì)其執(zhí)行裝箱和拆箱操作按對(duì)象來(lái)處理。

   當(dāng)將值類型的值轉(zhuǎn)換為類型object時(shí),將分配一個(gè)對(duì)象實(shí)例(也稱“箱子”)以包含該值,并將值復(fù)制到該箱子中。反過來(lái),當(dāng)將一個(gè)object引用強(qiáng)制轉(zhuǎn)換為值類型時(shí),將檢查所引用的對(duì)象是否含有正確的值類型,如果有,則將箱子中的值復(fù)制出來(lái)。

   C#的統(tǒng)一類型系統(tǒng)實(shí)際上意味著值類型可以“按需”轉(zhuǎn)換為對(duì)象。因?yàn)榻y(tǒng)一,所以使用類型object的通用庫(kù)可以與引用類型和值類型一同使用。

   C#變量包括字段、數(shù)組元素、局部變量和參數(shù)。

   變量表示了存儲(chǔ)變量,并且每個(gè)變量都有一個(gè)類型,以決定什么樣的值能夠存入變量,如下概述:

   1. 不可以為null的值類型變量:類型完全相同的值。

   2. 可以為null的值類型變量:null值和類型完全相同的值。

   3. object變量:null引用、對(duì)任何引用類型的對(duì)象的引用,或者對(duì)任何值類型的裝箱的引用。

   4. 類類型變量:null引用、對(duì)該類類型的實(shí)例的引用,或者對(duì)從該類類型派生的類的實(shí)例的引用。

   5. 接口類型變量:null引用、對(duì)實(shí)現(xiàn)該接口類型的類類型的實(shí)例的引用,或者對(duì)實(shí)現(xiàn)該接口類型的值類型的裝箱值的引用。

   6. 數(shù)組類型變量:null引用、對(duì)該數(shù)組類型的實(shí)例的引用,或者對(duì)兼容數(shù)組類型的實(shí)例的引用。

   7. 委托類型變量:null引用或?qū)υ撐蓄愋偷膶?shí)例的引用。

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。

網(wǎng)頁(yè)名稱:C#基礎(chǔ)編程----類型和變量-創(chuàng)新互聯(lián)
URL標(biāo)題:http://muchs.cn/article8/egiip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、品牌網(wǎng)站制作、網(wǎng)站維護(hù)、微信公眾號(hào)、標(biāo)簽優(yōu)化、全網(wǎng)營(yí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í)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司