4.1 實值型別
各種實值型別總是含有相應該類型的一個值。C#迫使你初始設定變數才能使用它們進行計算-變數沒有初始化不會出問題,因為當你企圖使用它們時,編譯器會告訴你。 每當把一個值賦給一個實值型別時,該值實際上被拷貝了。相比,對於參考型別,僅是引用被拷貝了,而實際的值仍然保留在相同的記憶體位置,但現在有兩個對象指向了它(引用它)。C#的實值型別可以歸類如下:
·簡單類型(Simple types )
·結構類型(struct types)
·枚舉類型(Enumeration types)
4.1.1 簡單類型
在C#中出現的簡單類型共用一些特性。第一,它們都是.NET系統類別型的別名。第二,由簡單類型組成的常量運算式僅在編譯時間而不是運行時受檢測。最後,簡單類型可以按字面被初始化。以下為C#簡單類型歸類:
·整型
·布爾型
·字元型 (整型的一種特殊情況)
·浮點型
·小數型
4.1.1.1 整型
C#中有9個整型。 sbyte 、byte、 short、 ushort、 int、 uint、 long、 ulong 和 char(單獨一節討論)。它們具有以下特性:
·sbyte型為有符號8位整數,取值範圍在128~127之間。
·bytet型為無符號16位整數,取值範圍在0~255之間。
·short型為有符號16位整數,取值範圍在-32,768~32,767之間。
·ushort型為無符號16位整數,取值範圍在0~65,535之間。
·int型為有符號32位整數,取值範圍在-2,147,483,648~ 2,147,483,647之間。
·uint型為無符號32位整數,取值範圍在 0 ~ 4,294,967,295之間。
·long型為64位有符號整數,取值範圍在9,223,372,036,854,775,808~ 9,223,372,036,854,775,807之間。
·ulong型為64位不帶正負號的整數,取值範圍在0 ~ 18,446,744,073,709,551,615之間。
VB和C程式員都可能會對int和long資料類型所代表的新範圍感到驚訝。和其它的程式設計語言相比,在C#中,int不再取決於一個機器的字(word)的大小,而long被設成64位。
4.1.1.2 布爾型
布林值資料型別有true和false兩個布爾值。可以賦於true或false值給一個布爾變數,或可以賦於一個運算式,其所求出的值等於兩者之一:
bool bTest = (80 > 90);
與C和C++相比,在C#中,true值不再為任何非零值。不要為了增加方便而把其它整型轉換成布爾型。