忽略字典列表中的空元素

Ignoring Empty Elements in Dictionary List

我正在尝试删除 Scripting.Dictionary 中的空元素,这是我在下面列出的内容,但 "is Empty" 或 "is Nothing" 似乎不起作用。执行 echo 时,有一个空元素,我想将其删除。

for each item in macDictionary
    If not objItem.MACAddress is Empty then
        wscript.echo("item=" & item)
    End if
next

EmptyNothing 不一样。 Nothing 是空对象变量的值(通过 Set 分配的值),而 Empty 是空 "normal" 变量的值。 Is operator. To check for an Empty variable you have to use the IsEmpty 函数仅检查 Nothing

For Each item In macDictionary
    If Not IsEmpty(objItem.MACAddress) then
        WScript.Echo "item=" & item
    End If
Next

另请参阅 VBScript keywords documentation

使用 IsEmpty() 在 VBScript 中测试 empty/not 个初始化变量:

>> Dim NotInitialized
>> WScript.Echo CStr(IsEmpty(NotInitialized))
>>
True

VBScript 中还有其他 'invisible' 东西(零长度字符串、Null、Nothing,...)所以要获得更多 practical/tailored 答案,您必须说明如何将元素分配给字典.