詳細(xì)點(diǎn)評(píng)C#數(shù)據(jù)類(lèi)型的特點(diǎn)
應(yīng)用任何一種程序語(yǔ)言需要充分了解它提供的C#數(shù)據(jù)類(lèi)型,這樣才能明白它的功能與限制。在本文中,我解釋了C#數(shù)據(jù)類(lèi)型的特點(diǎn)及詳細(xì)內(nèi)容,以幫助開(kāi)發(fā)者進(jìn)一步掌握這門(mén)語(yǔ)言的用途。
在C#中可以定義兩種變量類(lèi)型:值類(lèi)型和引用類(lèi)型。值類(lèi)型存儲(chǔ)實(shí)際值,而引用類(lèi)型則為對(duì)存儲(chǔ)在內(nèi)存中某處的值的引用。值類(lèi)型在堆棧上分配,大多數(shù)程序語(yǔ)言都能應(yīng)用它。引用類(lèi)型在堆上分配,通常代表類(lèi)實(shí)例。在C#代碼中還可以定義自己的值和引用類(lèi)型。
所有值和引用類(lèi)型都由一個(gè)名為object的基本類(lèi)發(fā)展而來(lái)。在C#中還可以通過(guò)隱性轉(zhuǎn)換(不會(huì)造成數(shù)據(jù)丟失)或顯性轉(zhuǎn)換(可能造成數(shù)據(jù)丟失或降低精確度)來(lái)改變數(shù)據(jù)類(lèi)型。
預(yù)定義C#值類(lèi)型
sbyte:存儲(chǔ)8位帶符號(hào)整數(shù)。sbyte中的s代表帶符號(hào)(signed),意味著變量可為正值或負(fù)值。sbyte變量的最小可能值為-128,最大可能值為127。
byte:存儲(chǔ)8位無(wú)符號(hào)整數(shù)。與sbyte變量不同,byte變量不帶符號(hào),并且只能存儲(chǔ)正數(shù)值。byte變量的最小可能值為0,最大可能值為225。
short:存儲(chǔ)16帶符號(hào)整數(shù)。short變量的最小可能值為32768,最大可能值為32767。
int:存儲(chǔ)32位帶符號(hào)整數(shù)。int變量的最小可能值為-2147483648,最大可能值為2147683647。
uint:存儲(chǔ)32位無(wú)符號(hào)整數(shù)。unit中的u代表無(wú)符號(hào)。uint變量的最小可能值為0,最大可能值為4294967295。
long:存儲(chǔ)64位帶符號(hào)整數(shù)。long變量的最小可能值為-9223372036845775808,最大可能值為9223372036845775807。
ulong:存儲(chǔ)64位無(wú)符號(hào)整數(shù)。ulong中的u代表無(wú)符號(hào)。ulong變量的最小可能值為0,最大可能值為18446744073709551615。
char:存儲(chǔ)16位Unicode字符。Char變量的最小可能值為值為0的Unicode字符,最大可能值為值為655535的Unicode字符。
float:存儲(chǔ)32位還符號(hào)浮點(diǎn)值。float變量的值介于±1.5 x 10-45到±3.4 x 1038之間。
double:存儲(chǔ)64位帶符號(hào)浮點(diǎn)值。double變量的值介于±5.0 x 10-324到 ±1.7 x 10308之間。
decimal:存儲(chǔ)128位帶符號(hào)浮點(diǎn)值。decimal類(lèi)型變量適用于金融計(jì)算。decimal類(lèi)型變量的值介于±1.0 x 10-28到±7.9 x 1028之間。
bool:存儲(chǔ)兩個(gè)可能值——真或假——中的一個(gè)。應(yīng)用bool類(lèi)型變量是C#與C和C++不同的一個(gè)地方。在C和C++中,整數(shù)值0與假同義,而任何非零值與真同義。但在C#中,這些類(lèi)型不再同義。你不能將一個(gè)整數(shù)變量轉(zhuǎn)換成一個(gè)等同的bool值。如果你需要應(yīng)用一個(gè)表示真或假條件的變量,應(yīng)使用bool變量而非int變量。
預(yù)定義C#引用類(lèi)型
string:表示一個(gè)Unicode字符串。用它可輕松操作并分配字符串。字符串不可變,也就是說(shuō)它一旦建立就不能修改。因此當(dāng)你試圖修改一個(gè)字符串,如將它與另一個(gè)字符串連接時(shí),會(huì)建立一個(gè)新字符串對(duì)象來(lái)存儲(chǔ)新生成的字符串。
object:表示一個(gè)通用類(lèi)型。在C#中,所有的預(yù)定義和用戶定義的類(lèi)型都由object類(lèi)型或System.Object類(lèi)發(fā)展而來(lái)。
C#數(shù)據(jù)類(lèi)型總結(jié)
正確應(yīng)用合適的C#數(shù)據(jù)類(lèi)型可幫助開(kāi)發(fā)者充分利用程序語(yǔ)言的功能,但對(duì)那些以前應(yīng)用別的程序語(yǔ)言的開(kāi)發(fā)者而言,轉(zhuǎn)換到C#可能要一段時(shí)間。欲了解與每種類(lèi)型有關(guān)的更多信息,請(qǐng)?jiān)L問(wèn) 微軟網(wǎng)站 。
【編輯推薦】