值类型和引用类型
如果数据类型在它自己的内存分配中存储数据,则该数据类型就是“值类型”。“引用类型”包含指向存储数据的其他内存位置的指针。
值类型
值类型包括:
-
所有数字数据类型
-
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。