字典(字符串,字符串)无法评估表达式

时间:2015-03-13 20:16:44

标签: asp.net vb.net dictionary webforms

当调用Sub以使用DictionaryEntry()中的键和值填充System.Collections.Generic.Dictionary时,在调试模式下检查词典时,每个属性都有一个带有X的红色圆圈并包含文本&#34 ;无法评估表达。"它似乎工作,如果我尝试添加两个具有相同键/值对的条目,它甚至会抱怨。即使填充了我的测试字符串(valuesString),也没有键或值存在。

我从FormView的ItemInserted事件调用Sub(.Net Framework 4,Visual Studio 2013 Webforms Application)

Protected Sub PopulateDictionary(myValues As DictionaryEntry())

        Dim de As DictionaryEntry
        Dim valuesString As String = String.Empty
        Dim myDictionary As New Dictionary(Of String, String)

        For Each de In myValues

            'This works - the string is populated with key/value pairs
            valuesString &= "Key=" & de.Key.ToString() & ", " & _
              "Value=" & de.Value.ToString() & "<br/>"

            'This doesn't - just get the red circle with an X
            myDictionary.Add(de.Key.ToString(), de.Value.ToString())

        Next
End Sub

这里发生了什么?我没有运气就重新启动了Visual Studio。

1 个答案:

答案 0 :(得分:0)

奇怪,这适用于"<br/>"。看起来它缺少收盘价。 (也许不需要ToString()?)

valuesString &= "Key=" & de.Key.ToString() & ", " & _
          "Value=" & de.Value.ToString() & "<br/>"

它看起来像这样:

myDictionary.Add(de.Key.ToString(), de.Value.ToString())

只需要:

myDictionary.Add(valuesString)

或(不确定......):

myDictionary.Add(DictionaryEntry())