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

2024-04-03

在 VB6 应用程序中,我有一个Dictionary谁的钥匙是Strings 和 value 是自定义类的实例。如果我打电话RemoveAll() on the Dictionary,它会首先释放自定义对象吗?或者我明确需要自己做这件事?

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()将在一个循环中枚举并释放所有内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Scripting.Dictionary 的RemoveAll() 方法是否首先释放其所有元素? 的相关文章

随机推荐