我有一个数组,在while循环中我将一行数据插入到字典中,然后将每个字典添加到数组中。
我的设置是这样的:
while something
Dim MyDict as new Scripting.Dictionary
MyDict.RemoveAll
'Add data
MyDict.add "something","something"
If Count = 0 Then
ReDim MyArray(0)
Else
ReDim Preserve MyArray(UBound(MyArray, 1) + 1)
End If
'Add the dictionary to the array of dictionaries
Set MyArray(UBound(MyArray, 1)) = MyDict
wend
但是,在while循环结束时,整个字典数组指向同一个字典 - 最后一个字典。我想通过在while循环中声明字典并使用New,以及removeall我会避免这种....
如何确保每个字典不仅仅是对最终字典的引用?
答案 0 :(得分:2)
这就是Kovags告诉你的事情:
Dim MyDict as Scripting.Dictionary
while something
Set MyDict = new Scripting.Dictionary
'Add data
MyDict.add "something","something"
If Count = 0 Then
ReDim MyArray(0)
Else
ReDim Preserve MyArray(UBound(MyArray, 1) + 1)
End If
'Add the dictionary to the array of dictionaries
Set MyArray(UBound(MyArray, 1)) = MyDict
wend
...虽然我认为你可能会发现使用这个数组的集合更容易。