这个问题与这个问题基本相同,尽管那个人的问题的答案原来是一个简单的尾随空格。
我的问题是我正在从 Web API 作为字典检索数据,然后尝试从中获取值。我正在使用TryGetValue
,因为并非字典中的每个项目都必然包含每个键。出于某种原因,虽然我可以在一个键存在时毫无问题地获得它的值,但另一个键TryGetValue
总是评估为假,因此不会返回该值,即使我可以在调试中看到该键存在.
因此,此块始终检索“System.Description”键的值(如果存在):
string descriptionValue = "";
if (workItem.Fields.TryGetValue("System.Description", out descriptionValue))
{
feature.Description = descriptionValue;
}
但是,这个几乎相同的块永远不会检索“CustomScrum.RoadmapGroup”键的值:
int RoadmapGroupValue = 0;
if (workItem.Fields.TryGetValue("CustomScrum.RoadmapGroup", out RoadmapGroupValue))
{
feature.RoadmapGroup = RoadmapGroupValue;
}
正如您在此屏幕截图中看到的那样,字典确实包含一个名称与我的TryGetValue
语句完全匹配的键:
如果我在TryGetValue
语句评估为 true ( feature.Description = descriptionValue;
) 时应该运行的代码上设置断点,则它永远不会被命中。
对于字典中的每个项目,该feature.RoadmapGroup
变量都设置为 0。
至少在过去的两个小时里,我一直盯着这个,我看不出我做错了什么。