代码之家  ›  专栏  ›  技术社区  ›  DOK

VisualStudio即时窗口:如何查看前100项以上的内容

  •  75
  • DOK  · 技术社区  · 16 年前

    我试图在VisualStudio2005的即时窗口中查看一个具有300多个属性的对象的属性。仅显示前100个项目,然后显示以下标题:

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

    我试图查看其余的项目,但无法理解。

    我意识到我可以在手表的窗口看到这些,但那不一样。

    4 回复  |  直到 16 年前
        1
  •  53
  •   Ian Routledge    8 年前

    我知道这几乎是几年前的事了,但我今天遇到了这个问题。有时,在即时窗口中查看列表比在监视窗口中查看列表更有用。通过使用以下工具,您可以轻松看到比前100个结果更多的结果:

    yourList.Skip(100).ToArray()
    

    这真的不需要很长的时间来写,工作得很好-对我很有用。

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

        2
  •  46
  •   Gene Whitaker    11 年前

        3
  •  16
  •   Gabriel McAdams    16 年前

    即时窗口被设计成一个快速查看工具。如果要查看更多详细信息,必须在“监视”窗口或“快速监视”窗口中查看。

        4
  •  5
  •   John    11 年前

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