如何在字典中的单个键下添加多个值

时间:2016-08-27 12:48:54

标签: vba

代码:VBA

如何在字典的帮助下进行以下操作?

项目“Facebook”应该有多个键,例如

。添加项目“Facebook”,“品牌”,2

。添加项目“Facebook”,“发布”,5

。添加项目“Facebook”,“喜欢”,7

如何搜索整数值?

1 个答案:

答案 0 :(得分:0)

我建议使用用户类型或类来存储数据。例如:

'Minimalistic ChannelInfo.cls
Option Explicit

Public Channel As String
Public Category As String
Public Count As Integer

对于容器,Dictionary需要一个唯一键,因此另一种类型的容器(数组,集合或自定义容器类)可能是更好的选择,具体取决于您从中检索项目的方式。如果您需要为任意Type获取唯一键,则可以使用VarPtr。如果您需要唯一的对象键,您可以创建自己的哈希函数或使用其ObjPtr。请注意,这些对于检索尚未引用的项目特别有用。

Dim myFoos As New Scripting.Dictionary
Dim foo As ChannelInfo

Set foo = New ChannelInfo
With foo
    .Channel = "Facebook"
    .Category = "brand"
    .Count = 2
End With

myFoos.Add ObjPtr(foo), foo

如果Channel和Category的组合是您以后用于聚合项目的组合,那么将其用作关键字可能更有用:

'Key is "Facebook|brand"
myFoos.Add foo.Channel & "|" & foo.Category, foo