96

我试图在 Visual Studio 2005 的即时窗口中查看具有 300 多个属性的对象的属性。仅显示前 100 个项目,后跟此标题:

 < More... (The first 100 of 306 items were displayed.) >

我正在尝试查看其余项目,但无法弄清楚。

我意识到我可以在 Watch 窗口中看到这些,但那不一样。

4

4 回答 4

54

有时在即时窗口中查看列表而不是在监视窗口中查看很有用。您可以使用以下命令轻松查看比前 100 个更多的结果:

yourList.Skip(100).ToArray()

这确实不需要很长时间才能编写并且效果很好 - 对我很有用。

更新:正如下面的评论中所指出的,这个答案实际上是错误的,并且仅适用于集合而不适用于具有大量属性的对象。我把它留在这里,因为很多人似乎发现它很有用。

于 2011-12-08T10:37:05.030 回答
49

如果将对象添加到监视窗口,则展开属性以显示所有属性。然后Ctrl+A复制。然后,您可以粘贴到 excel 中以获取有组织的属性及其值的列表。

于 2014-09-22T13:56:11.360 回答
16

即时窗口被设计成一个快速查看工具。如果您想查看更多详细信息,则必须在 Watch Window 或 Quick Watch Window 中查看。

另一种选择是编写一个与立即窗口类似的操作的 Visual Studio 插件,但有更多选项。

于 2010-01-13T04:29:50.233 回答
5

像这样调试时,我总是创建一个扩展方法来将对象导出到 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();
}

它不是 100% 的完全证明,但大多数时候它是完美的。它将在应用程序目录中创建一个以对象名称作为文件名的 xml 文件。在即时窗口中,您只需键入对象名称,然后键入 .SerializeToXML()。

所以: myList.SerializeToXML()

于 2015-04-28T20:07:58.977 回答