如何将数组的单个元素设置为Empty

时间:2016-07-10 01:49:21

标签: java arrays vba excel-vba nothing

后台:作为一名Java程序员,为了熟悉VBA,我正在创建Java ArrayList的VBA实现。该类几乎已完成,但我在实现remove(int index)方法时遇到问题。

问题:如何清空数组中的单个元素。

在Java中,我会使用arr[index] = null。在VBA中,我尝试了Set arr[index] = Nothing。结果是index - 元素不是空的,而是Nothing Object(请参阅下面我的即时窗口的屏幕截图)。那么,在函数调用结束时确保elementData(0)Empty的正确语法是什么?

Immediate Window

我的完整功能代码如下。

Public Function removeIndex(index As Long) As Variant
    rangeCheck (index) 'verify that index is in-bounds

    modCount = modCount + 1

    Dim oldValue As Variant
    oldValue = elementData(index) 

    Dim numMoved As Long
    numMoved = size - index - 1
    If numMoved > 0 Then
        'move the remaining elements left one
        arrayCopy elementData, index + 1, elementData, index, numMoved
    End If

    size = size - 1
    Set elementData(size) = Nothing
    remove = oldValue
End Function

0 个答案:

没有答案