如何在VB中查找字典中的值



我有一本字典:

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

你犯了什么错误?

相关内容

  • 没有找到相关文章

最新更新