[筆記文]實值型別和參考型別

  • 3676
  • 0

通用型別系統 定義了兩種類型:實值型別(Value Type) 和 參考型別(Reference Type)

參考來自 MSDN Library (繁體中文) 和 Visual Basic 2003~2005 開發秘訣與範例大全 和 維基百科 

開發工具和環境:VS2005 + .NET Framework 2.0

通用型別系統 (Common Type System):

         定義了執行期引擎如何使用程式中的資料型別,以及資料如何配置在記憶體中的一種標準,依照此種標準所撰寫的程式語言,都可以在同一個執行期引擎中使用,因此它是跨語言支援的重要部份,亦即符合 CTS 規範的程式語言所撰寫出的程式,都可以在 CLR 中使用。

通用型別系統  定義了兩種類型:實值型別(Value Type) 和 參考型別(Reference Type

補充:

通用語言執行平台(Common Language Runtime,簡稱CLR)是微軟為他們的.NET虛擬機器所選用的名稱。這是通用語言架構(簡稱CLI)的微軟實作版本,它定義了一個程式碼執行的環境。CLR執行一種稱為通用中間語言位元組碼,這個是微軟的通用中間語言實作版本。

 

1 . 定義 :

實值型別(Value Type) :

         實值型別直接包含資料,而且實值型別的執行個體 (Instance) 是在堆疊上配置,或是在結構中內嵌 (Inline) 配置。實值型別可由執行階段實作、使用者定義或列舉型別 (Enumeration)。是在其本身的記憶體配置中存放資料。

參考型別(Reference Type) :

         包含存放在其他記憶體配置中資料的指標,儲存變數記憶體位址的參考,並且在堆積 (Heap) 上配置。參考型別的型別可從自我描述型別的值判斷出來。自我描述型別可再分為陣列和類別型別。類別型別包括使用者定義型別、Boxed 實值型別和委派。

 

2 . 包含的型別:

 

實值型別 (Value Type) 包含下列事項:

  • 所有的數字資料型別

  • BooleanChar 和 Date

  • 所有結構 (即使其成員也屬於參考型別的結構)

  • 列舉型別 (Enumeration),因為其基礎型別一定是 SByteShortIntegerLongByteUShortUInteger 或 ULong

 

參考型別 (Reference Type) 包含下列事項:

  • String

  • 所有陣列 (即使其元素也屬於實值型別的陣列)

  • 類別型別,例如 Form

  • 委派

 

 

補充:

下列程式設計項目不能限定型別,因為您無法指定任何一個型別做為宣告項目的資料型別:

  • 命名空間

  • 模組

  • 事件

  • 屬性和程序

  • 變數、常數和欄位

 

連結網址 :

實值型別和參考型別

http://msdn.microsoft.com/zh-tw/library/t63sy5hs(VS.80).aspx

Visual Basic 中的資料型別

http://msdn.microsoft.com/zh-tw/library/ffsdktda(v=VS.80).aspx

通用型別系統

http://zh.wikipedia.org/zh-tw/%E9%80%9A%E7%94%A8%E5%9E%8B%E5%88%A5%E7%B3%BB%E7%B5%B1

通用語言執行庫

http://zh.wikipedia.org/zh-tw/CLR


==================================================== 
有些事就該把它當作一種回憶...
一種放在記憶中任隨時間慢慢的侵蝕慢慢的隨風漂泊........
 ===================================================
~~~請支持 點部落 格,點點下方的廣告吧~~~