web-dev-qa-db-fra.com

Fenêtre Visual Studio Immediate: comment voir plus que les 100 premiers éléments

J'essaie de voir les propriétés d'un objet avec plus de 300 propriétés dans la fenêtre immédiate de Visual Studio 2005. Seuls les 100 premiers éléments sont affichés, suivis de cette légende:

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

J'essaie de voir le reste des articles, mais je ne peux pas le comprendre.

Je me rends compte que je pouvais les voir dans une fenêtre de surveillance, mais ce n'est pas la même chose.

76
DOK

Je sais que c'est bien tard. Cependant, si vous ajoutez votre objet à la fenêtre de surveillance. Développez les propriétés, où toutes sont affichées. Puis Ctrl-A et Copier. Vous pouvez ensuite coller dans Excel pour obtenir une liste organisée des propriétés et leurs valeurs.

22
Gene Whitaker

Je sais que c'était il y a presque plusieurs années, mais je me suis heurté à cela aujourd'hui. Parfois, il est utile de voir la liste dans la fenêtre immédiate plutôt que de regarder dans la fenêtre de surveillance. Vous pouvez facilement voir plus de résultats que les 100 premiers en utilisant:

yourList.Skip(100).ToArray()

Ce qui ne prend vraiment pas longtemps à écrire et fonctionne bien - m'a été utile.

pdate: Comme indiqué dans les commentaires ci-dessous, cette réponse est en fait erronée et applicable UNIQUEMENT aux collections et NON aux objets avec beaucoup de propriétés. Je le laisse ici car beaucoup de gens semblent l'avoir trouvé utile.

48
Ian Routledge

La fenêtre immédiate a été conçue pour être un outil de visualisation rapide. Si vous voulez voir plus de détails, vous devrez le voir dans la fenêtre de surveillance ou la fenêtre de surveillance rapide.

Une autre option consiste à écrire un complément Visual Studio qui fonctionne de manière similaire à la fenêtre immédiate, mais qui a plus d'options.

16
Gabriel McAdams

Je crée toujours une méthode d'extension pour exporter des objets en xml lors du débogage comme celui-ci. Il est très utile pour dépanner les données d'objets. Voici ce que j'utilise:

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();
}

Ce n'est pas une preuve à 100%, mais la plupart du temps, c'est parfait. Il créera un fichier xml dans le répertoire de l'application avec le nom des objets comme nom de fichier. Dans la fenêtre immédiate, vous pouvez simplement taper le nom de l'objet puis .SerializeToXML ().

donc: myList.SerializeToXML ()

4
John