KeyNotFoundException, когда ключ с запрошенным значением существует в словаре VB.NET ASP.NET 2.0

Изображение сеанса отладкиПеременная ValueList определяется как Словарь (Of String, String)

Захваченные значения наблюдения показывают, что данные (tmpData) имеют значение "1".

ValueList определен так, что заменяющим значением для "1" является "Project Resource", как видно из расширения переменной SSGCol.ValueList Watch.

Тем не менее, когда я пытаюсь получить доступ к значению, я получаю KeyNotFoundException

Я делал подобные вещи тысячи раз в прошлом, но по какой-то причине сегодня не могу заставить их работать. Я, должно быть, упускаю что-то действительно очевидное, и мне нужен кто-то, чтобы взглянуть по-новому и дать мне пощечину, когда они увидят мою очевидную ошибку.

2 ответа

Решение

Возможно, в строке есть некоторые непечатаемые символы. Попробуйте сравнить байты в строках, например:

Dim bytes() As Byte = System.Text.Encoding.Unicode.GetBytes(tmpData)

Это работает для меня...

    Dim lst As New Dictionary(Of String, String)

    lst.Add("1", "Test")

    Dim tmpS As String = String.Empty
    lst.TryGetValue("1", tmpS)
Другие вопросы по тегам