4

创建新字典后:

Dim teams as Dictionary
Set teams = New Dictionary

我注意到它已经包含空键值对(teams.Count 返回值 1)。我怎样才能防止这种情况发生或删除这对?这是正常行为吗?

4

2 回答 2

17

我有同样的经历并解决了。

我为字典中的一个值设置了一个 Watch 表达式。不知何故,这将空键/值对保留在字典中(或继续阅读它)。

移除手表并单步执行代码我现在看到字典不再包含 Empty/Empty 项。

于 2016-05-26T18:01:10.470 回答
3

如果您引用与我相同的Microsoft Scripting Runtime字典scrrun.dll- Excel 2010。

在此处输入图像描述

然后下面的代码在创建后0作为.Count项目返回,没有任何操作。

Sub SD()
    Dim teams As Dictionary
    Set teams = New Dictionary
    Debug.Print teams.Count
End Sub

我不知道您的字典返回的原因1,但是我认为一种解决方法是简单地使用对象的.RemoveAll方法Dictionary

Sub SD()
    Dim teams As Dictionary
    Set teams = New Dictionary
    teams.RemoveAll
    Debug.Print teams.Count
End Sub
于 2013-09-11T08:26:22.947 回答