我正在尝试在 Visual Studio 2005 的立即窗口中查看具有超过 300 个属性的对象的属性。只显示前 100 个项目,其后跟着此标题:
< More... (The first 100 of 306 items were displayed.) >
我试图查看剩余的项,但是无法弄清楚。我知道可以在“监视”窗口中查看这些内容,但那不一样。
我正在尝试在 Visual Studio 2005 的立即窗口中查看具有超过 300 个属性的对象的属性。只显示前 100 个项目,其后跟着此标题:
< More... (The first 100 of 306 items were displayed.) >
我试图查看剩余的项,但是无法弄清楚。有时候在立即窗口中查看列表比在监视窗口中查看更加有用。您可以使用以下方法轻松地查看超过前100个结果:
yourList.Skip(100).ToArray()
这确实很容易编写,并且效果很好 - 对我有用。
更新:如下面评论所指出的,这个答案实际上是错误的,并且仅适用于具有许多集合属性的对象而不是对象。由于许多人似乎发现它有用,因此我将其保留在这里。
即时窗口是一个快速查看工具。如果您想查看更多详细信息,则必须在监视窗口或快速监视窗口中查看。
另一个选项是编写一个类似于即时窗口的 Visual Studio 插件,但具有更多选项。
我经常创建一个扩展方法来将对象导出为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()