資料型別指定變數可以儲存的資料的型別,如:整數,浮點,字元等。
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# 語言中有兩種型別的參照資料型別。
內建參照型別的範例有:object
,dynamic
和string
。
物件型別
物件型別是 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