gpt4 book ai didi

vba - 嵌套集合

转载 作者:行者123 更新时间:2023-12-04 22:13:46 25 4
gpt4 key购买 nike

考虑以下代码:

Sub NestedCollections()
Dim col1 As Collection
Dim col2 As Collection
Dim col3 As Collection

Set col1 = New Collection
Set col2 = New Collection
Set col3 = New Collection

col2.Add "a"
col2.Add "b"
col2.Add "c"

col3.Add "d"
col3.Add "e"
col3.Add "f"

col1.Add col2
col1.Add col3

col1.Item(2).Add col3

Set col1 = Nothing
Set col2 = Nothing
Set col3 = Nothing
End Sub

如果您将 watch 添加到“col1”,并展开“item(2)”,您会注意到“item(4)”不断扩展。为什么会这样?

干杯,
马立克

最佳答案

一切正常,直到 col1.Item(2).Add col3被执行。

除此之外,col1.Item(2)col3按照此说明:

col1.Add col3

通过添加 col3col1.Item(2) ,您正在添加指向 col3 的指针到... col3 ,这就是它“不断扩展”的原因 - col3 的第 4 项是 col3本身:
col3.Add "d"   'col1.Item(2)(1)
col3.Add "e" 'col1.Item(2)(2)
col3.Add "f" 'col1.Item(2)(3)
col3.Add col3 'col1.Item(2)(4)

我不建议使用这样的递归数据结构(即向自身添加一个集合)。

关于vba - 嵌套集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54642323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com