当我试图查看字典条目的内部列表时,我讨厌一个接一个地展开每个节点。我正在寻找一种更简单的方法来做到这一点。
例如:
我有一个Dictionary对象Dictionary(Of AnotherObject, Integer)
,我希望在调试期间看到AnotherObject
的一个属性列表。
通常我会这样说:
For Each item As DictionaryEntry(Of AnotherObject, Integer) in myDict
Debug.Writeline(item.Name)
Next
但是即时窗口不支持循环。
在即时窗口或调试可视化工具中,有什么实际的方法可以做到这一点吗?
3条答案
按热度按时间wkftcu5l1#
你看过VS可视化工具吗?
A Generic List and Dictionary Debugger Visualizer for VS.NET
以及
Write Your Own Visualizer for VS Debugging
7ajki6be2#
虽然你不能在即时窗口中使用循环,但是它允许你声明新的变量,这样你就可以创建新的列表等等,然后这些列表可以显示在监 windows 口中。
brccelvz3#
(古老的问题,但是. . . . . .)我经常使用LINQ来实现这一点。根据即时窗口上下文中存在的内容,您可以使用System.Linq.Enumerable的静态成员和扩展方法语法,也可以将其用作普通的静态方法。
我将使用C#语法,因为我不知道VB语法是什么(也许一些VB向导会沿着并修复这个问题)。
我刚刚用Debug〉StepIntoNewInstance启动了一个小的控制台项目,我发现我必须加载System.Core才能使它运行
(显然,arg在这里是一个字符串,不需要转换为字符串--我只是使用$"{arg}”来显示将某个内容格式化为字符串的简洁方法)
(除非我完全误解了OP的意图)我认为OP的等价物如下所示
此外,您还可以利用LINQ的强大功能来操纵所显示的内容-- Where、OrderBy、Skip等。