Public Sub Add(ByVal phone As String, ByVal name As String)
MyBase.InnerHashtable.Add(phone, name)
End Sub
'--Subroutine to extract the value from a dictionary when the key is passed as input
Public Function Item(ByVal phone As String) As String
Return CStr(MyBase.InnerHashtable.Item(phone))
End Function
样品条目:
'--Adding key and values to the dictionary
myDict.Add("6812036998", "Horton")
myDict.Add("6812036999", "Olive")
我需要帮助才能对字典进行反向查找。鉴于key
我应该能够找到名称。但是,我的下面的代码不会工作,因为它是错误的。
Public Function lookupValue(ByVal name As String)
Return CStr(MyBase.InnerHashtable.Item(name))
End Function
答案 0 :(得分:1)
值不是唯一的,所以我猜您需要使用LINQ
来获取第一个值:
Dim myValue As String = myDict.FirstOrDefault(Function(x) x.Value = "Horton").Key;
修改强>
正如Alan Mathew和我自己所评论的那样,请确保将System.Linq
添加为您的项目参考之一,并将Imports System.Linq
放在您编写上述行的文件中。
答案 1 :(得分:0)
Ur代码的标识符是关键。但是你需要价值作为标识符。试试这个 对于每一行,作为yourdictionary中的keyvaluepair(字符串,字符串) 如果row.value = desiredstring则 Yourresult = row.key 如果
结束下一步