Visual Studio即时窗口:如何查看超过前100个项目

101

我正在尝试在 Visual Studio 2005 的立即窗口中查看具有超过 300 个属性的对象的属性。只显示前 100 个项目,其后跟着此标题:

 < More... (The first 100 of 306 items were displayed.) >
我试图查看剩余的项,但是无法弄清楚。
我知道可以在“监视”窗口中查看这些内容,但那不一样。
5个回答

59

有时候在立即窗口中查看列表比在监视窗口中查看更加有用。您可以使用以下方法轻松地查看超过前100个结果:

yourList.Skip(100).ToArray()

这确实很容易编写,并且效果很好 - 对我有用。

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


谢谢您为这个主题添加内容。正如你所发现的,有时候“老旧”的问题也有解决今天问题的答案! - DOK
不确定你在这里所说的“yourList”是什么意思?你是指我正在尝试查看的对象吗?如果是这样,在Visual Studio Pro 2013中对我无效。 - Kunal
你的列表(collection)对象通常是IList<T>或IEnumerable<T>类型,希望这能帮到你。 - Ian Routledge
2
我猜如果你想展示集合中剩余的项,那么这个方法可以奏效,但是对于属性来说,就像原问题提到的那样,这个答案毫无用处。我不知道为什么这个被选为答案。我认为下面Gene Whitaker的答案更加有用。 - Simon ML
@IanRoutledge 我认为你应该考虑到上面的评论来限定你的答案。你的回答并不适用于OP所问的问题(或者我需要的),而且很不幸,人们必须阅读评论才能确定这一点。 - RenniePet
1
说得好,你是对的,这个答案实际上是错误的!我已经添加了更新的评论 - 随意修改等。 - Ian Routledge

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

4
我这五年来一直在自我 sab·o·tage,因为没有做到这一点。 - secretwep

15

即时窗口是一个快速查看工具。如果您想查看更多详细信息,则必须在监视窗口或快速监视窗口中查看。

另一个选项是编写一个类似于即时窗口的 Visual Studio 插件,但具有更多选项。


谢谢。我希望我只是忽略了一些简单的东西,不需要太多点击,可以轻松滚动数百个项目。我认为你已经找到了最好的替代方案。 - DOK
1
@DOK:现在有一个更好的答案,可能值得被接受。 - Eric J.
1
@Gabriel 它真的是设计成一个快速查看工具吗?虽然它确实有这个功能并且非常有用,但它似乎远不止于此。对我来说,它似乎是独特的,并且在预测和推测方面非常有用。我相信它不仅仅是一个“是什么”机器,而是一个“如果”机器,可以用来探索。 - G DeMasters

6

我经常创建一个扩展方法来将对象导出为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();
}

虽然不是百分之百的完美,但大部分情况下都是完美的。它将在应用程序目录中创建一个以对象名称为文件名的xml文件。在立即窗口中,您只需键入对象名称,然后使用.SerializeToXML()。

例如:myList.SerializeToXML()


4

这是一个老问题,但是在运行时获取对象的属性和值,这里有一个更合理的解决方案:使用Quickwatch窗口。

  1. 在调试模式下打开Quickwatch窗口。

Quickwatchwindow

  1. 输入您的变量名称并按Enter键。

ModelExpression

  1. 按CTRL + A和CTRL + C选择和复制所有属性。您需要展开那些包含值且非原始类型的属性。

  2. 粘贴到您喜欢的编辑器中。


这也只显示了343个中的100个。 - Zrn-dev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接