C#OOP的數據類型

1.C# 數據類型

在 C# 中,變量分爲以下幾種類型:

1.值類型(Value types)

2.引用類型(Reference types)

3.指針類型(Pointer types)

值類型(Value types)

值類型變量可以直接分配給一個值。它們是從類 System.ValueType 中派生的。

值類型直接包含數據。比如 int、char、float,它們分別存儲數字、字符、浮點數。當您聲明一個 int 類型時,系統分配內存來存儲值。

下表列出了 C# 2010 中可用的值類型:

如需得到一個類型或一個變量在特定平臺上的準確尺寸,可以使用 sizeof 方法。表達式 sizeof(type) 產生以字節爲單位存儲對象或類型的存儲尺寸。下面舉例獲取任何機器上 int 類型的存儲尺寸:

引用類型(Reference types)

引用類型不包含存儲在變量中的實際數據,但它們包含對變量的引用。

換句話說,它們指的是一個內存位置。使用多個變量時,引用類型可以指向一個內存位置。如果內存位置的數據是由一個變量改變的,其他變量會自動反映這種值的變化。內置的 引用類型有:objectdynamicstring

對象(Object)類型

對象(Object)類型 是 C# 通用類型系統(Common Type System - CTS)中所有數據類型的終極基類。Object 是 System.Object 類的別名。所以對象(Object)類型可以被分配任何其他類型(值類型、引用類型、預定義類型或用戶自定義類型)的值。但是,在分配值之前,需要先進行類型轉換。

當一個值類型轉換爲對象類型時,則被稱爲 裝箱;另一方面,當一個對象類型轉換爲值類型時,則被稱爲 拆箱

字符串(String)類型

字符串(String)類型 允許您給變量分配任何字符串值。字符串(String)類型是 System.String 類的別名。它是從對象(Object)類型派生的。字符串(String)類型的值可以通過兩種形式進行分配:引號和 @引號。

例如:

字符串中可以任意換行,換行符及縮進空格都計算在字符串長度之內。