当调用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。
答案 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())