10

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

如果我右键单击加载的对象,并尝试深入了解其内容,我似乎进入了一个无限循环。例如,如果我想查看包含的键,我会展开 Keys 元素,它会显示一个计数,以及另一个名为“非公共成员”的集合。我展开后者,得到另一个字典对象,它有一个 Keys 元素,我可以展开它以获得另一个“count”和“Non-Public members”实例,我可以展开等等:

Visual Studio 调试器中的字典扩展

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

4

1 回答 1

4

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

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

dict.Keys.ToList()

这将允许您深入到列表中并查看键。

如果您知道您想要的键的索引,请执行以下操作:

dict.Keys.ToList()[1]

这将显示索引 1 处的键。

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

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

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

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

'dict. 条目'

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

于 2016-08-26T14:06:36.950 回答