gpt4 book ai didi

vb6 - Scripting.Dictionary 的RemoveAll() 方法是否首先释放其所有元素?

转载 作者:行者123 更新时间:2023-12-02 09:02:27 26 4
gpt4 key购买 nike

在 VB6 应用程序中,我有一个 Dictionary,其键是 String,值是自定义类的实例。如果我在 Dictionary 上调用 RemoveAll(),它会首先释放自定义对象吗?或者我是否明确需要自己执行此操作?

Dim d as Scripting.Dictionary

d("a") = New clsCustom
d("b") = New clsCustom

' Are these two lines necessary?
Set d("a") = Nothing
Set d("b") = Nothing

d.RemoveAll

最佳答案

是的,Dictionary 中的所有对象都将在调用 RemoveAll() 后被释放。从性能(如速度)的角度来看,我想说那些将变量设置为 Nothing 的行是不必要的,因为代码必须首先根据键名称查找它们,而 RemoveAll() 将在一个循环中枚举并释放所有内容。

关于vb6 - Scripting.Dictionary 的RemoveAll() 方法是否首先释放其所有元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75011/

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