IsArrayInitialized
返回一个Boolean,指示变量是否包含已分配维度的数组。
语法:IsArrayInitialized( varname )
- varname
- 必需 要测试的数组变量。
以空括号声明的动态数组(Dim a() As Long)在ReDim为其分配存储空间之前保持特殊的"未初始化"状态。IsArrayInitialized在该状态下返回False,在数组具有维度后返回True。对未初始化的数组调用LBound或UBound,或访问其任何元素,都会引发运行时错误——因此IsArrayInitialized是在读取之前进行安全测试的方式。
如果varname不是数组,IsArrayInitialized返回False。
示例
本示例在ReDim前后以及Erase释放存储空间后测试数组。
vb
Dim a() As Long
Debug.Print IsArrayInitialized(a) ' False — declared but unsized.
ReDim a(0 To 9)
Debug.Print IsArrayInitialized(a) ' True — dimensions allocated.
Erase a
Debug.Print IsArrayInitialized(a) ' False — Erase released the storage.