无法在Visual Studio调试器中查看字典内容

Bug*_*boy 8 c# dictionary idictionary debuggervisualizer visual-studio

我的代码中有一个System.Collections.Generic.Dictionary对象,我试图在Visual Studio调试器中的断点处停止时查看其内容..NET中的Dictionary类当然包含键和值的列表.

如果我右键单击加载的对象,并尝试向下钻取其内容,我似乎进入一个无限循环.例如,如果我试图查看包含的键,我会展开Keys元素,它显示一个计数,另一个集合称为"非公共成员".我扩展后者,并获得另一个字典对象,它有一个Keys元素,我可以扩展它以获得另一个"count"和"非公共成员"的实例,我可以扩展,等等:

Visual Studio调试器中的字典扩展

使用QuickWatch给出了相同的结果,那么如何实际查看对象中包含的键?

Haw*_*kez 6

我知道这个问题在 Visual Studio 的更高版本中已得到解决。然而,对于我们中一些陷入旧版本 VS 的人来说,这里有一个快速修复方法来查看字典的键。

假设我们有一本名为“dict”的字典。我们需要键才能查看值。因此,在监视窗口中执行以下操作:

dict.Keys.ToList()

这将允许您深入查看列表并查看密钥。

如果您知道所需密钥的索引,请执行以下操作:

dict.Keys.ToList()[1]

这将显示索引 1 处的密钥。

现在您可以使用该键并查看其值:

dict[dict.Keys.ToList()[1]]

当然,如果更容易的话,您可以将键列表中的索引替换为另一个监视行中的实际键值。

编辑:此外,还可以在监视窗口中查看具有以下内容的字典条目:

'字典条目'

这将为您提供一个要查看的条目列表。每个条目都有一个“键”和“值”属性。