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