在字典数组中搜索布尔值

时间:2013-01-03 21:30:57

标签: arrays dictionary vb6

我的结构类似

Private wells() As Dictionary

我需要知道每个字典中存在的键'active'是否至少一次设置为true。

有没有办法在没有循环的情况下归档它?

之类的东西
dim hasActive as boolean
hasActive = wells()["active"] = true

现在我正在循环但是应用程序是在15年前写的,而且还有更多的记录和更多的字典键添加到它们中,所以循环开始花费更多的时间而不是明智的等待。

由于

1 个答案:

答案 0 :(得分:0)

您无法直接执行此操作,但您可以轻松编写包含Dictionaries数组的类模块,并提供允许您操作这些项的方法。然后,包含类还可以跟踪项“活动”为True的词典计数。当“活动”项设置为True时,这些方法将增加计数,当活动项设置为False时,这些方法将减少计数。然后你可以检查一下计数,看看是否有任何词典当前有一个设置为True的“活动”项目。

在Class_Initialize中实例化数组和字典,并将计数设置为零。提供添加和删除项目的方法(以及您可能需要的任何其他方法),以及一个属性,告诉您是否有任何字典将其“活动”项设置为True。

当然,这确实意味着您必须更改项目中的所有代码才能使用您的类,而不是直接访问数组和字典。不过,我认为不应该那么困难。