Sub test() Dim Dic As
Object Set Dic = CreateObject("scripting.dictionary") Dic.Add "Key1", Array(1, False) '将数组作为item加入字典 MsgBox Dic("Key1")(1) '显示该key下的item,即数组的第二项的值false Dic.Add Dic("Key1")(1), True '如果该关键字已经存在,则产生一个错误。 Dic("Key1")(2) = True '因为超过数组上界,而返回下标越界。 Dic("Key1")(1) = True '妄图改变该数组的第二项值为true,程序不报错,但是不成功 MsgBox Dic("Key1")(1) '仍旧显示false值 Dic("Key1") = Array(1, True) '一定要这样改变才正确,不知为什么 MsgBox Dic("Key1")(1) '这回显示修改值成功了。 End
Sub
中间两句是我加的,我这么认为的: - 黄色的,执行后没报错。根据帮助的说明,证明字典中不存在这样一个Dic.Add Dic("Key1")(1)KEY。不存在的KEY,怎么修改?
- 棕色的,执行后报错。原因如注释,证明字典将识别出该数组元素("Key1")(2),而不是不可识别,并判断出该数组元素越界了。
|