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