值类型和引用类型

更新:2007 年 11 月

如果数据类型在它自己的内存分配中存储数据,则该数据类型就是“值类型”。“引用类型”包含指向存储数据的其他内存位置的指针。

值类型

值类型包括:

  • 所有数字数据类型

  • Boolean、Char 和 Date

  • 所有结构,即使其成员是引用类型

  • 枚举,因为其基础类型总是 SByte、Short、Integer、Long、Byte、UShort、UInteger 或 ULong

引用类型

引用类型包括:

  • String

  • 所有数组,即使其元素是值类型

  • 类类型,如 Form

  • 委托

非类型的元素

以下编程元素未限定为类型,因为您无法将它们中的任何一个指定为声明元素的数据类型:

  • 命名空间

  • 模块

  • 事件

  • 属性和过程

  • 变量、常数和字段

使用对象数据类型

可以将引用类型或值类型指派给 Object 数据类型的变量。Object 变量总是存储指向数据的指针,从不存储数据本身。然而,如果将值类型指派给 Object 变量,则 Object 变量将表现得像存储自己的数据一样。有关更多信息,请参见 Object 数据类型

通过将 Object 变量传递给 Microsoft.VisualBasic 命名空间中 Information 类的 IsReference 方法,可以确定该变量是用作引用类型还是值类型。如果 Object 变量的内容表示引用类型,则 Information.IsReference 返回 True。

请参见

概念

数据类型为 .NET Framework 类型

有效使用数据类型

参考

Object 数据类型

其他资源

Visual Basic 中的类型转换

结构:您自己的数据类型