对象变量值 (Visual Basic)
Object 数据类型的变量可以引用任何类型的数据。 你存储在 Object
变量中的值会保存在内存中的其他位置,而变量本身将保持指向数据的指针。
对象分类器函数
Visual Basic 提供返回有关 Object
变量所引用内容的信息的函数,如下表所示。
函数 | 如果 Object 变量引用以下内容,则返回 True |
---|---|
IsArray | 一组值,而不是单个值 |
IsDate | 一个 Date 数据类型值,或可解释为日期和时间值的一个字符串 |
IsDBNull | DBNull 类型的一个对象,表示缺少或不存在的数据 |
IsError | 派生自 Exception 的一个异常对象 |
IsNothing | Nothing,即当前未向变量分配任何对象 |
IsNumeric | 一个数字,或可解释为数字的一个字符串 |
IsReference | 一个引用类型(例如字符串、数组、委托或类类型) |
可以使用这些函数来避免向操作或过程提交无效值。
TypeOf 运算符
还可使用 TypeOf 运算符来确定对象变量当前是否引用了特定数据类型。 如果操作数的运行时间类型派生自指定的类型或实现指定的类型,TypeOf
...Is
表达式的计算结果将为 True
。
以下示例对引用值和引用类型的对象变量使用 TypeOf
。
' The following statement puts a value type (Integer) in an Object variable.
Dim num As Object = 10
' The following statement puts a reference type (Form) in an Object variable.
Dim frm As Object = New Form()
If TypeOf num Is Long Then Debug.WriteLine("num is Long")
If TypeOf num Is Integer Then Debug.WriteLine("num is Integer")
If TypeOf num Is Short Then Debug.WriteLine("num is Short")
If TypeOf num Is Object Then Debug.WriteLine("num is Object")
If TypeOf frm Is Form Then Debug.WriteLine("frm is Form")
If TypeOf frm Is Label Then Debug.WriteLine("frm is Label")
If TypeOf frm Is Object Then Debug.WriteLine("frm is Object")
上述示例将下面的行写入到“调试”窗口中:
num is Integer
num is Object
frm is Form
frm is Object
对象变量 num
引用 Integer
类型的数据,frm
引用 Form 类的对象。
对象数组
可以声明和使用一组 Object
变量。 这在你需要处理各种数据类型和对象类时很有用。 一个数组中的所有元素都必须具有相同的已声明的数据类型。 将此数据类型声明为 Object
使你能够将对象和类实例与其他数据类型一起存储在数组中。