DOK*_*DOK 79 debugging immediate-window visual-studio
我试图在Visual Studio 2005的立即窗口中查看具有超过300个属性的对象的属性.仅显示前100个项目,然后显示此标题:
< More... (The first 100 of 306 items were displayed.) >
Run Code Online (Sandbox Code Playgroud)
我试图看到其余的项目,但无法搞清楚.
我意识到我可以在Watch窗口中看到这些,但那不一样.
Ian*_*dge 50
我知道这几乎是在几年前,但我今天反对这一点.有时,在即时窗口中查看列表而不是在监视窗口中查看是有用的.您可以使用以下方法轻松查看比前100个更多的结果:
yourList.Skip(100).ToArray()
Run Code Online (Sandbox Code Playgroud)
这真的不需要很长时间才能编写并且运行良好 - 对我有用.
更新:正如下面的评论所指出的,这个答案实际上是错误的,仅适用于集合而不适用于具有大量属性的对象.我将它留在这里,因为很多人似乎发现它很有用.
小智 28
我知道这是迟到的.但是,如果将对象添加到监视窗口.展开显示所有属性的属性.然后按Ctrl-A和复制.然后,您可以粘贴到Excel中以获取有组织的属性及其值列表.
Gab*_*ams 16
即时窗口被设计为快速查看工具.如果要查看更多详细信息,则必须在"监视窗口"或"快速监视窗口"中查看它.
另一种选择是编写一个Visual Studio AddIn,其操作类似于立即窗口,但有更多选项.
在像这样调试时,我总是创建一个扩展方法来将对象导出到 xml。它对于排除对象数据的故障非常有用。这是我使用的:
public static void SerializeToXML(this object entity)
{
System.Xml.Serialization.XmlSerializer writer = new System.Xml.Serialization.XmlSerializer(entity.GetType());
System.IO.StreamWriter file = new System.IO.StreamWriter(string.Format(@"{0}\{1}.xml", Directory.GetCurrentDirectory(), entity.GetType().Name));
writer.Serialize(file, entity);
file.Close();
}
Run Code Online (Sandbox Code Playgroud)
这不是 100% 完全证明,但大多数时候它是完美的。它将在应用程序目录中创建一个以对象名称作为文件名的 xml 文件。在即时窗口中,您只需输入对象名称,然后输入 .SerializeToXML()。
所以:myList.SerializeToXML()
| 归档时间: |
|
| 查看次数: |
28304 次 |
| 最近记录: |