【公告】因應 .NET5 2020 改版,原預計 6/1 開放 ASP.NET MVC 全系列課程訂閱暫停

實值型別-整數

實值型別包含結構與列舉,其中的結構,則涵蓋了最常見的「數值」、「布林」與「使用者定義結構」。
  • 結構:數值 / 布林 / 使用者定義
  • 列舉
這一篇來看其中的整數型別,這種型別代表一種沒有小數點的整數數值,在「Integral types table (C# Reference)」列舉了所有的整數型別,進入頁面可以看到以下的列表清單截圖。



表列型別中的 char 比較特別,它用來表示單一字元,除此之外,各整數型別之間的差異只在於其範圍大小,也就是表中長度欄位所界定的值。

每一種整數型態依其有無負號兩種型態定義了不同的版本,如果運算過程中不允許或是不需要負值,可依其大小直接宣告為無號整數。

int 可以算是最普遍的整數型別,一般的程式運算如迴圈計數、陣列索引等等,均是透過int 型別作設定,對於一般的運算, int 的數值範圍已經足夠。如果要處理的整數範圍超過 int 或是 uint ,則必須進一步宣告為 long 以保證能夠妥善的處理這些數值。

byte 以及 short 是範圍比較小的整數,如果正整數的範圍沒有超過 65535 ,宣告為unshort 即可,當然更小的數值直接以 byte 作處理即可,只是使用此類資料型別必須特別注意數值的大小,否則非常容易導致運算溢位的錯誤。
class Program
{
    static void Main(string[] args)
    {
        int x = 256 ;
        byte y = 255;
        Console.WriteLine("x:"+x);
        Console.WriteLine("y:"+y);
        Console.ReadLine(); 
    }
}
各宣告一個 int 變數 x 以及 byte 型別變數 y ,其中 x 的初始化值設為 256 , y 的初始化值設為 255 ,並且分別輸出,以下是輸出結果,列舉 x 與 y 的值:
x:256
y:255
這個範例非常的簡單,將數值資料指定給宣告為 int 以及 byte 型別的變數,如你所見,兩個變數的值輸出於畫面上,接下來將其中 byte 變數宣告的程式碼,重新修改為 256 :
byte y = 256;
此時重新編譯,將出現 256 無法轉換成為 byte 型別的錯誤,表示宣告為 byte 的變數 y 無法接受 256 ,因為 byte 型別為 8 bit 無號整數,數值範例從 0 ~ 255 , 256顯示已經超出此種型別的最大值範圍,因此無法被儲存。除了 byte ,其他型別的設值原理相同。


沒有留言: