我有一本字典:
Dim chardict As Dictionary(Of Char, Integer) = Nothing
chardict.Add("A", 0)
chardict.Add("B", 1)
我想做以下if
语句,但我有点拘泥于语法:
if chardict.containskey("A")
'display the value that corrosponds to the letter "A"
'in this case display the character 0
[some code]
end if
只需将值传递给dictionary,它就会返回一个Key。如果您的dictionary如下所示:
Private Status As New Dictionary (Of String, String)
Status.Add("Y", "Married")
Status.Add("N", "Single")
Status.Add("X", "Its Complicated")
下面的代码行将返回密钥
Dim Key As String = Status("Single")
Key=N
实际上,我很确定这段代码会引发异常,因为在字典中找不到键"单个";是值,而不是键,因此对不是有效键的值进行索引将引发未找到键的异常。
我实际上需要这种能力(出于某种原因,我使用的API有一个字典,我需要得到的值是密钥,查找它的唯一方法是通过它们与密钥关联的友好名称)。也许有更好的方法,但我的笨拙解决方案是循环浏览所有字典条目,找到我需要的值,然后获取与之相关的密钥。到目前为止,我还没有找到一种方法来查找密钥,方法是提供循环之外的值或在列表中使用find(),但也许我只是缺少了一些东西。
您的语法似乎是正确的
If dictionary.ContainsKey("A") Then
Do
End If
你犯了什么错误?