C#資料型別


資料型別指定變數可以儲存的資料的型別,如:整數,浮點,字元等。

C# 語言中有3種型別的資料型別。如下表中所示 -

型別 資料型別
值資料型別 int, char, float, Boolean
參照資料型別 字串,類,物件和介面
指標資料型別 指標

值資料型別

值資料型別是基於整數和基於浮點數。 C# 語言支援有符號和無符號文字值。

C# 語言中有兩種型別的值資料型別。

  • 預定義的資料型別 - 如整型,布林型,浮點型等
  • 使用者定義的資料型別 - 如結構,列舉等

資料型別的記憶體大小可能會根據32位或64位元運算系統而不同。我們來看看值資料型別。它的大小根據32位元運算系統給出。

資料型別 記憶體大小 範圍
char 1 byte -128 to 127
signed char 1 byte -128 to 127
unsigned char 1 byte 0 to 127
short 2 byte -32,768 to 32,767
signed short 2 byte -32,768 to 32,767
unsigned short 2 byte 0 to 32,767
int 2 byte -32,768 to 32,767
signed int 2 byte -32,768 to 32,767
unsigned int 2 byte 0 to 32,767
short int 2 byte -32,768 to 32,767
signed short int 2 byte -32,768 to 32,767
unsigned short int 2 byte 0 to 32,767
long int 4 byte
signed long int 4 byte
unsigned long int 4 byte
float 4 byte
double 8 byte
long double 10 byte -

要在特定平台上獲取型別或變數的確切大小,可以使用sizeof方法。 表示式sizeof(type)產生物件或型別的儲存大小(以位元組為單位)。以下是在任何機器上獲取double型別的大小的範例:

using System;
namespace DataTypeApplication
{
   class Program 
   {
      static void Main(string[] args)
      {
         Console.WriteLine("Size of double: {0}", sizeof(double));
         Console.ReadLine();
      }
   }
}

當編譯和執行上述程式碼時,會產生以下結果:

Size of double: 8

參照資料型別

參照資料型別不包含儲存在變數中的實際資料,但它們包含對變數的參照。如果一個變數的資料值被更改,則這個變數將自動反映該值的變化。

C# 語言中有兩種型別的參照資料型別。

  • 預定義型別 - 如物件,字串。
  • 使用者定義的型別 - 如類,介面。

內建參照型別的範例有:objectdynamicstring

物件型別
物件型別是 C# 通用型別系統(CTS)中所有資料型別的最終基礎類別。

當一個值型別轉換為物件型別時,它被稱為裝箱,另一方面,當物件型別轉換為值型別時,稱為拆箱。

object obj;
obj = 100; // this is boxing

動態型別

可以在動態資料型別變數中儲存任何型別的值。這些型別的變數的型別檢查在執行時進行。
宣告動態型別的語法是:

dynamic <variable_name> = value;

例如,

dynamic d = 20;

字串型別

字串型別允許為變數分配任何字串值。String型別是System.String類的別名。 它是從Object型別派生的。可以使用兩種形式的字串文字來分配字串型別的值:quoted@quoted

範例

String str = "Yiibai Point";

@quoted字串文字如下所示:

String str = "Yiibai Point";

指標資料型別

C# 語言中的指標是變數,也稱為定位符或指示符,指向值的地址。

指標中使用的符號

符號 名稱 說明
& 地址運算子 獲取變數的地址
* 間接運算子 存取地址的值

宣告一個指標

C# 語言中的指標可以使用*(星號符號)宣告。

int * a;  //pointer to int      
char * c; //pointer to char