實值型別和參考型別

更新:2007 年 11 月

若資料型別是在其本身的記憶體配置中存放資料,資料型別就屬於「實值型別」(Value Type)。「參考型別」(Reference Type) 包含存放在其他記憶體配置中資料的指標。

實值型別

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

  • 所有的數字資料型別

  • Boolean、Char 和 Date

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

  • 列舉型別 (Enumeration),因為其基礎型別一定是 SByte、Short、Integer、Long、Byte、UShort、UInteger 或 ULong

參考型別

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

  • String

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

  • 類別型別,例如 Form

  • 委派

不是型別的元素

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

  • 命名空間

  • 模組

  • 事件

  • 屬性和程序

  • 變數、常數和欄位

使用物件資料型別

您可以將參考型別或實值型別指派至 Object 資料型別的變數。Object 變數存放的永遠是資料的指標,而非資料本身。但是如果您將實值型別指派給 Object 變數,則此變數看起來就像是存放其本身的資料一般。如需詳細資訊,請參閱 Object 資料型別

您只要將 Object 變數傳遞到 Microsoft.VisualBasic 命名空間 Information 類別的 IsReference 方法中,即可發現該變數是否為參考型別或實值型別。如果 Object 變數的內容代表參考型別,Information.IsReference 會傳回 True。

請參閱

概念

資料型別是 .NET Framework 型別

有效率地使用資料型別

參考

Object 資料型別

其他資源

Visual Basic 中的型別轉換

結構:您自己的資料型別