Как найти значения в словаре в 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
заранее спасибо
3 ответа
Ваш синтаксис кажется правильным
If dictionary.ContainsKey("A") Then
Do
End If
какую ошибку вы получаете?
Просто передайте значение в словарь, и он вернет вам ключевое значение, если ваш словарь выглядит следующим образом:
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")
Ключ = N
На самом деле я почти уверен, что этот код вызовет исключение, потому что ключ не был найден в словаре. «Single» - это значение, а не ключ в этой ситуации, поэтому индексация значения, не являющегося действительным ключом, вызовет исключение «ключ не найден».
Мне действительно нужна эта способность (по какой-то причине у API, который я использую, есть словарь, в котором значение, которое мне нужно получить, является ключом, и единственный способ найти его - по понятному имени, которое они связали с ключом). Может быть, есть способ получше, но мое неуклюжее решение заключалось в том, чтобы перебрать все словарные записи и найти нужное значение, а затем получить связанный с ним ключ. Пока я не нашел способа найти ключ, указав значение, отличное от цикла, или используя Find() в списке, но, возможно, я просто что-то упускаю.