數(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ù)類型。
數(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 | - |
要在特定平臺(tái)上獲取類型或變量的確切大小,可以使用sizeof方法。 表達(dá)式sizeof(type)產(chǎn)生對(duì)象或類型的存儲(chǔ)大小(以字節(jié)為單位)。以下是在任何機(jī)器上獲取double類型的大小的示例:
using System;
namespace DataTypeApplication
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Size of double: {0}", sizeof(double));
Console.ReadLine();
}
}
}
當(dāng)編譯和執(zhí)行上述代碼時(shí),會(huì)產(chǎn)生以下結(jié)果:
Size of double: 8
引用數(shù)據(jù)類型不包含存儲(chǔ)在變量中的實(shí)際數(shù)據(jù),但它們包含對(duì)變量的引用。如果一個(gè)變量的數(shù)據(jù)值被更改,則這個(gè)變量將自動(dòng)反映該值的變化。
C# 語(yǔ)言中有兩種類型的引用數(shù)據(jù)類型。
內(nèi)置引用類型的示例有:object,dynamic和string。
對(duì)象類型
對(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 boxing
動(dòng)態(tài)類型
可以在動(dòng)態(tài)數(shù)據(jù)類型變量中存儲(chǔ)任何類型的值。這些類型的變量的類型檢查在運(yùn)行時(shí)進(jìn)行。
聲明動(dòng)態(tài)類型的語(yǔ)法是:
dynamic <variable_name> = value;
例如,
dynamic d = 20;
字符串類型
字符串類型允許為變量分配任何字符串值。String類型是System.String類的別名。 它是從Object類型派生的??梢允褂脙煞N形式的字符串文字來(lái)分配字符串類型的值:quoted和@quoted。
示例
String str = "Yiibai Point";
@quoted字符串文字如下所示:
String str = "Yiibai Point";
C# 語(yǔ)言中的指針是變量,也稱為定位符或指示符,指向值的地址。

指針中使用的符號(hào)
| 符號(hào) | 名稱 | 說(shuō)明 |
|---|---|---|
& |
地址運(yùn)算符 | 獲取變量的地址 |
* |
間接運(yùn)算符 | 訪問(wèn)地址的值 |
聲明一個(gè)指針
C# 語(yǔ)言中的指針可以使用*(星號(hào)符號(hào))聲明。
int * a; //pointer to int
char * c; //pointer to char