C#的数据类型总结
?
? ? C#的數(shù)據(jù)類型可以分為3類:數(shù)值類型,引用類型,指針類型.指針類型僅在不安全代碼中使用.
一、值類型
? ?值類型包括簡(jiǎn)單值類型和復(fù)合型類型。簡(jiǎn)單值類型可以再細(xì)分為整數(shù)類型、字符類型、實(shí)數(shù)類型和布爾類型;而復(fù)合類型則是簡(jiǎn)單類型的復(fù)合,包括結(jié)構(gòu)(struct)類型和枚舉(enum)類型。
1.整數(shù)類型:
| 類型標(biāo)識(shí)符 | 描述 | 可表示的數(shù)值范圍 |
| sbyte | 8位有符號(hào)整數(shù) | -128 ~ +127 |
| byte | 8位無(wú)符號(hào)整數(shù) | 0 ~ 255 |
| short | 16位有符號(hào)整數(shù) | -32768 ~ +32767 |
| ushort | 16位無(wú)符號(hào)整數(shù) | 0 ~ 65535 |
| int | 32位有符號(hào)整數(shù) | -2147483648 ~ +2147483647 |
| uint | 32位無(wú)符號(hào)整數(shù) | 0 ~ 232-1 |
| long | 64位有符號(hào)整數(shù) | -9223372036854775805 ~ +9223372036854775807 |
| ulong | 64位無(wú)符號(hào)整數(shù) | 0 ~ 264-1 |
?
2.字符類型:
? ? C#提供的字符類型數(shù)據(jù)按照國(guó)際上公認(rèn)的標(biāo)準(zhǔn),采用Unicode字符集。一個(gè)Unicode字符的長(zhǎng)度為16位(bit),它可以用來(lái)表示世界上大部分語(yǔ)言種類。所有Unicode字符的集合構(gòu)成字符類型。字符類型的類型標(biāo)識(shí)符是char,因此也可稱為char類型。???
凡是在單引號(hào)中的一個(gè)字符,就是一個(gè)字符常數(shù),如下所示:
???‘a(chǎn)’、 ‘p’、? ‘*’、? ‘0’、‘8’
在表示一個(gè)字符常數(shù)時(shí),單引號(hào)內(nèi)的有效字符數(shù)量必須且只能是一個(gè),并且不能是單引號(hào)或者反斜杠(\)。
為了表示單引號(hào)和反斜杠等特殊的字符常數(shù),C#提供了轉(zhuǎn)義符,在需要表示這些特殊常數(shù)的地方,可以使用這些轉(zhuǎn)義符來(lái)替代字符。如下表所示。
[csharp]?view plaincopy print?
3.實(shí)數(shù)類型:
float: 32位單精度實(shí)數(shù); 取值范圍:1.5*10-45-3.4*1038;double: 64位雙精度實(shí)數(shù); 取值范圍:5.0*10-324-1.7*10308;
demcimal: 128位十進(jìn)制實(shí)數(shù); 取值范圍:1.0*10-28-7.9*1028;
4.布爾(bool)類型:
布爾類型數(shù)據(jù)用于表示邏輯真和邏輯假,布爾類型的類型標(biāo)識(shí)符是bool。取值只能是ture或者false,bool類型對(duì)應(yīng)于.NET類庫(kù)中的System.Boolean結(jié)構(gòu)。它在計(jì)算機(jī)中占4個(gè)字節(jié),即32位存儲(chǔ)空間。5.結(jié)構(gòu)類型:
把一系列相關(guān)的信息組織成為一個(gè)單一實(shí)體的過程,這就是創(chuàng)建一個(gè)結(jié)構(gòu)的過程。[csharp]?view plaincopy print?
6.枚舉類型:
主要用于表示一個(gè)邏輯相關(guān)聯(lián)的項(xiàng)和組合。使用關(guān)鍵字enum來(lái)定義。[csharp]?view plaincopy print?
二.引用類型
? ? 引用類型包括類(class)、接口(interface)、委托(delegate)和數(shù)組(array)。
類是一組具有相同數(shù)據(jù)結(jié)構(gòu)和相同操作的對(duì)象集合。創(chuàng)建類的實(shí)例必須使用關(guān)鍵字new來(lái)進(jìn)行聲明。類和結(jié)構(gòu)之間的根本區(qū)別在于:結(jié)構(gòu)是值類型,而類是引用類型。對(duì)于值類型,每個(gè)變量直接包含自身的所有數(shù)據(jù),每創(chuàng)建一個(gè)變量,就在內(nèi)存中開辟一塊區(qū)域;而對(duì)于引用類型,每個(gè)變量只存儲(chǔ)對(duì)目標(biāo)存儲(chǔ)數(shù)據(jù)的引用,每創(chuàng)建一個(gè)變量,就增加一個(gè)指向目標(biāo)數(shù)據(jù)的指針。
1.1object類
? ?object類是系統(tǒng)提供的基類型,是所有類型的基類,C#中所有的類型都直接或間接派生于對(duì)象類型。因此,對(duì)于任一個(gè)object變量,均可以賦以任何類型的值。
[csharp]?view plaincopy print?2.string類
???一個(gè)字符串是被雙引號(hào)包含的一系列字符。例如,“how are you!”就是一個(gè)字符串。
string類是專門用于對(duì)字符串進(jìn)行操作的。?
字符串在實(shí)際應(yīng)用中非常廣泛,字符串之間的運(yùn)算也是非常方便的。如:
? ? ? ?
[csharp]?view plaincopy print?2.接口(interface):
? ? 應(yīng)用程序之間要相互調(diào)用,就必須事先達(dá)成一個(gè)協(xié)議,被調(diào)用的一方在協(xié)議中對(duì)自己所能提供的服務(wù)進(jìn)行描述。在C#中,這個(gè)協(xié)議就是接口。接口定義中對(duì)方法的聲明,既不包括訪問限制修飾符,也不包括方法的執(zhí)行代碼。如果某個(gè)類繼承了一個(gè)接口,那么它就要實(shí)現(xiàn)該接口所定義的服務(wù)。也就是實(shí)現(xiàn)接口中的方法。3.委托:
? ?委托用語(yǔ)封裝某個(gè)方法的調(diào)用過程。委托的使用過程分為3步:1).定義 delegate void HelloDelegate();
2).實(shí)例化 HelloDelegate hd = new HelloDelegate(p1.Say);//p1.Say調(diào)用的方法
3).調(diào)用 hd();
4.數(shù)組:
數(shù)組主要用于同一數(shù)據(jù)類型的數(shù)據(jù)進(jìn)行批量處理。在C#中,數(shù)組需要初始化之后才能使用。如:
[csharp]?view plaincopy print?總結(jié)
- 上一篇: 在TreeView查找某一节点
- 下一篇: 新驾考科目三有四个地方易犯错 多名教练提