我正在尝试将我的旧 VB6 代码引入现代 VB.NET 代码。
在我的 VB6 代码中,我需要查询集合中是否存在键。
我这样做:
Private Function pIndexFromKey(ByRef uCol As Collection, ByVal uText As String) As Long
On Error Resume Next
Dim lRet&
lRet = uCol.Item(uText)
pIndexFromKey = lRet
End Function
如果 pIndexFromKey 返回 0,我知道该键不包含在集合中,我添加它是这样的:
nCollection.Add(lIndex, sText)
我想知道这是否是“不错”的方法。我认为不是因为在 .NET 中我使用的是 VisualBasic 集合,而且它是“VB”而不是系统集合这一事实让我感到怀疑。
仅作记录,这是我的 VB.NET 代码:
Private Function pIndexFromKey(ByRef uCol As Collection, ByVal uText As String) As Integer
On Error Resume Next
Dim lRet As Integer = CInt(uCol(uText))
Return lRet
End Function
代码工作正常,但我的 On Error Resume Next 方法看起来很难看,而且我不喜欢每次抛出(并吃掉)错误时让调试窗口告诉我异常。
有没有人有更好的想法?