我在刚刚安装的 Visual Studio 2010 中进行调试,并尝试在快速查看窗口中查看字典。我看到了键和值,但深入研究显示计数和非公共(public)成员,非公共(public)成员继续跟踪,我从未在字典中看到值。我可以运行 test.Take(10) 并查看值,但我为什么要这样做。我不再安装 VS 2008 进行比较,但似乎我可以更轻松地调试字典。为什么现在是这个样子?它只是我在我的机器上以某种方式设置的设置吗?
测试代码:
Dictionary<string, string> test = new Dictionary<string, string>();
test.Add("a", "b");
编辑:
我刚刚在控制台应用程序中尝试了相同的调试,它按预期工作。另一个项目是 Silverlight 4 应用程序,为什么它们不同?
Console Debug Screen Shot
Silverlight 4 Debug Screen Shot :
编辑:来自 Microsoft Connect 的回复:
“这是我们的疏忽——我们之前已经为 Visual Studio 2008 SP1 修复了这个确切的问题,但不幸的是,这个修复没有移植到 Visual Studio 2010 代码库。现在再次修复了(这一次是好的!),我们'正在考虑在 VS2010 SP1 中发布此修复程序。
亚历克斯·特纳
项目经理
Visual Basic 和 C# 编译器”所以它应该很快修复。
编辑:我刚刚在 SP1 中仔细检查了它,它工作正常。
最佳答案
有一种解决方法可以在调试器中转储字典的内容。
使用 System.Linq;
测试.Take(1)
[rickpastoor 在 connect.microsoft.com 上针对错误 557741 报告了此解决方法]
关于visual-studio-2010 - 为什么字典调试可视化工具在 Visual Studio 2010 中用于 Silverlight 调试的用处不大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2789580/