1
我有一個數組,並在一個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循環的結束點字典全陣列相同的dictionary-最後一個。我認爲通過在while循環中聲明字典並使用New,以及removeall我會避免這種情況....
如何確保每個字典不僅僅是插入最後一個字典的引用?
我不明白你想要達到的目標。 您是否試過在循環中聲明MyDic outsite while循環,然後在循環中執行「Set MyDic = new Scripting.Dictionary」? – Kovags
Kovags是正確的,沒有'Set'你有一個數組有n個元素保持對同一個字典實例的引用。 –