值類型和引用類型
(轉至 MSDN)
如果數據類型在它自己的內存分配中存儲數據,則該數據類型就是“值類型”。“引用類型”包含指向存儲數據的其他內存位置的指針。
---------- 值類型
值類型包括:
-
所有數字數據類型
-
Boolean、Char 和 Date
-
所有結構,即使其成員是引用類型
-
枚舉,因爲其基礎類型總是 SByte、Short、Integer、Long、Byte、UShort、UInteger 或 ULong
----------- 引用類型
引用類型包括:
-
String
-
所有數組,即使其元素是值類型
-
類類型,如 Form
-
委託
----------- 非類型的元素
-
命名空間
-
模塊
-
事件
-
屬性和過程
-
變量、常數和字段
----------- 使用對象數據類型
可以將引用類型或值類型指派給 Object 數據類型的變量。Object 變量總是存儲指向數據的指針,從不存儲數據本身。然而,如果將值類型指派給 Object 變量,則 Object 變量將表現得像存儲自己的數據一樣。有關更多信息,請參見 Object 數據類型。
通過將 Object 變量傳遞給 Microsoft.VisualBasic 命名空間中 Information 類的 IsReference 方法,可以確定該變量是用作引用類型還是值類型。如果 Object 變量的內容表示引用類型,則Microsoft.VisualBasic.Information.IsReference(System.Object) 返回 True。