在我的VB6应用程序中,我有一个声明的对象数组......
Dim MyArray() as MyClass
随着处理的进行,这个数组被填充
Set MyArray(element) = passed_object
并且不再需要元素,
Set MyArray(otherelement) = Nothing
使用数组时,我想使用像
这样的循环For i = 1 To Ubound(MyArray)
If MyArray(i) <> Nothing Then ' Doesn't compile
...do something...
End If
Next i
但我无法得到任何可能 - 想要编译。我也试过了
If MyArray(i) Is Not Nothing Then
我是否应该这样做,如果是这样,我应该在这里进行什么测试?
答案 0 :(得分:33)
If Not MyArray(i) Is Nothing Then
答案 1 :(得分:15)
If Not MyArray(i) Is Nothing Then
答案 2 :(得分:0)
而不是
IsNothing(<object here>)
这应该适用于VB6:
<object here> Is Nothing
答案 3 :(得分:0)
Private Function IsNothing(objParm As Object) As Boolean
IsNothing = IIf(objParm Is Nothing, True, False)
End Function
答案 4 :(得分:-1)
除了其他答案(没有使用is作为运算符)之外还有函数:
IsNothing(<object here>)
e.g。
if IsNothing(MyArray(i)) = false then
编辑:MSDN无益于声明存在于VBA和VB6中,但根据下面的评论显然在VB6中不存在