请问怎样判断一个Collection类型的集合中有没有KEY为“ABC”的元素呢?在线等待

YongSoft123 2004-12-26 03:40:03
请大家明示!
...全文
423 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
hongbo163 2004-12-27
  • 打赏
  • 举报
回复
用错误处理就可以拉
tiaoci 2004-12-27
  • 打赏
  • 举报
回复
Sorry 上面

ExistKey = (Err.Number == 0)

应当是

ExistKey = (Err.Number = 0)

C#写多了,唉~~~

添加删除集合不是很好,
tiaoci 2004-12-27
  • 打赏
  • 举报
回复
要这个样子DI~~~~~~

Public Function ExistKey(ByRef c As Collection, _
ByVal k As Variant) As Boolean
On Error Resume Next
Call VarType(c(k))
ExistKey = (Err.Number == 0)
If Err.Number <> 0 Then Err.Clear
End Function
flyingZFX 2004-12-26
  • 打赏
  • 举报
回复
呵呵,不好意思,修改一下,这个函数。

Public Function ExistKey(myColl As Collection , strKey As string ) as Boolean
On Error Goto err1
myColl.Add "a",strKey
myColl.Remove strKey
ExistKey = False
Exit Function
err1:
Err.Clear
ExistKey = True
End Function
flyingZFX 2004-12-26
  • 打赏
  • 举报
回复
我想,该如何调用这个函数,你应该会了吧。
flyingZFX 2004-12-26
  • 打赏
  • 举报
回复

再或者,你可以编写一个错误处理函数,这样就可以了,很简单的。

Public Function ExistKey(myColl As Collection , strKey As string ) as Boolean
On Error Goto err1
myColl.Add "a",strKey
ExistKey = False
Exit Function
err1:
Err.Clear
ExistKey = True
End Function
flyingZFX 2004-12-26
  • 打赏
  • 举报
回复
用集合来判断是不太好的。

这种情况,需要来判断Key值的,应该采用字典对象(Dictionary)

avalonBBS 2004-12-26
  • 打赏
  • 举报
回复
既然来了,就顶下:(
xiaoya371 2004-12-26
  • 打赏
  • 举报
回复
up
microfans 2004-12-26
  • 打赏
  • 举报
回复
up
DragonBill 2004-12-26
  • 打赏
  • 举报
回复
Private Sub Form_Load()
Dim myCollection As Collection
Set myCollection = New Collection

Dim c As Class1 ‘in Class1 add: Public key As String & Public someValue As String
Dim i As Integer

For i = 1 To 5
Set c = New Class1
c.key = "ABC" & i
c.someValue = "Value" & i
myCollection.Add c, c.key
Next i

For Each c In myCollection
If "ABC3" = UCase(c.key) Then
MsgBox " YongSoft123 SB"
Exit For
End If
Next c
End Sub

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧