數(shù)據(jù)類型指定變量可以存儲(chǔ)的數(shù)據(jù)的類型,如:整數(shù),浮點(diǎn),字符等。
C# 語(yǔ)言中有3種類型的數(shù)據(jù)類型。如下表中所示 -
類型 | 數(shù)據(jù)類型 |
---|---|
值數(shù)據(jù)類型 | int , char , float , Boolean 等 |
引用數(shù)據(jù)類型 | 字符串,類,對(duì)象和接口 |
指針數(shù)據(jù)類型 | 指針 |
值數(shù)據(jù)類型是基于整數(shù)和基于浮點(diǎn)數(shù)。 C# 語(yǔ)言支持有符號(hào)和無(wú)符號(hào)文字值。
C# 語(yǔ)言中有兩種類型的值數(shù)據(jù)類型。
預(yù)定義的數(shù)據(jù)類型 - 如整型,布爾型,浮點(diǎn)型等
用戶定義的數(shù)據(jù)類型 - 如結(jié)構(gòu),枚舉等
數(shù)據(jù)類型的內(nèi)存大小可能會(huì)根據(jù)32位或64位操作系統(tǒng)而不同。我們來(lái)看看值數(shù)據(jù)類型。它的大小根據(jù)32位操作系統(tǒng)給出。
數(shù)據(jù)類型 | 內(nèi)存大小 | 范圍 |
---|---|---|
char | 1 byte | -128 to 127 |
signed char | 1 byte | -128 to 127 |
unsigned char | 1 byte | 0 to 127 |
short | 2 byte | -32,768 to 32,767 |
signed short | 2 byte | -32,768 to 32,767 |
unsigned short | 2 byte | 0 to 32,767 |
int | 2 byte | -32,768 to 32,767 |
signed int | 2 byte | -32,768 to 32,767 |
unsigned int | 2 byte | 0 to 32,767 |
short int | 2 byte | -32,768 to 32,767 |
signed short int | 2 byte | -32,768 to 32,767 |
unsigned short int | 2 byte | 0 to 32,767 |
long int | 4 byte | |
signed long int | 4 byte | |
unsigned long int | 4 byte | |
float | 4 byte | |
double | 8 byte | |
long double | 10 byte | - |
using System;namespace DataTypeApplication{ class Program { static void Main(string[] args) { Console.WriteLine("Size of double: {0}", sizeof(double)); Console.ReadLine(); } } }12345678910111213復(fù)制代碼類型:[csharp]
當(dāng)編譯和執(zhí)行上述代碼時(shí),會(huì)產(chǎn)生以下結(jié)果:
Size of double: 81復(fù)制代碼類型:[csharp]
引用數(shù)據(jù)類型不包含存儲(chǔ)在變量中的實(shí)際數(shù)據(jù),但它們包含對(duì)變量的引用。如果一個(gè)變量的數(shù)據(jù)值被更改,則這個(gè)變量將自動(dòng)反映該值的變化。
C# 語(yǔ)言中有兩種類型的引用數(shù)據(jù)類型。
預(yù)定義類型 - 如對(duì)象,字符串。
用戶定義的類型 - 如類,接口。
內(nèi)置引用類型的示例有:object,dynamic和string。
對(duì)象類型是 C# 通用類型系統(tǒng)(CTS)中所有數(shù)據(jù)類型的最終基類。
當(dāng)一個(gè)值類型轉(zhuǎn)換為對(duì)象類型時(shí),它被稱為裝箱,另一方面,當(dāng)對(duì)象類型轉(zhuǎn)換為值類型時(shí),稱為拆箱。
object obj; obj = 100; // this is boxing1234復(fù)制代碼類型:[csharp]
可以在動(dòng)態(tài)數(shù)據(jù)類型變量中存儲(chǔ)任何類型的值。這些類型的變量的類型檢查在運(yùn)行時(shí)進(jìn)行。
聲明動(dòng)態(tài)類型的語(yǔ)法是:
dynamic <variable_name> = value;123復(fù)制代碼類型:[csharp]
例如,
dynamic d = 20;1復(fù)制代碼類型:[csharp]
字符串類型允許為變量分配任何字符串值。String類型是System.String類的別名。 它是從Object類型派生的??梢允褂脙煞N形式的字符串文字來(lái)分配字符串類型的值:quoted和@quoted。
示例
String str = "kaikeba Point";12復(fù)制代碼類型:[csharp]
@quoted字符串文字如下所示:
String str = "kaikeba Point";/123復(fù)制代碼類型:[csharp]
指針數(shù)據(jù)類型
C# 語(yǔ)言中的指針是變量,也稱為定位符或指示符,指向值的地址。
指針中使用的符號(hào)
符號(hào) | 名稱 | 說(shuō)明 |
---|---|---|
& | 地址運(yùn)算符 | 獲取變量的地址 |
* | 間接運(yùn)算符 | 訪問(wèn)地址的值 |
C# 語(yǔ)言中的指針可以使用*(星號(hào)符號(hào))聲明。
int * a; //pointer to int char * c; //pointer to char
聯(lián)系客服