Вы также можете вызывать методы в Immediate Window, и поэтому я думаю, что вам лучше всего использовать объект ObjectDumper, например тот, что в примерах LINQ или этот , а затем напишите что-то вроде этого в Immediate Window:
File.WriteAllText ("myFileName.txt", ObjectDumper.Dump (addressGraph));
В зависимости откакой ObjectDumper вы решите использовать, вы можете настроить его в соответствии с вашими потребностями и указать, на скольких уровнях вы хотите, чтобы он копался в вашем объекте при его выгрузке.
ОБНОВЛЕНИЕ: Вы пояснили в комментарии, что причина, по которой вы хотите сохранить данные в файл, заключается в том, что вы можете выполнять поиск по ним и анализировать коллекцию в разные моменты времени при выполнении или при разных запускахпрограмма.Я на самом деле написал коммерческое расширение для Visual Studio (называемое BugAid ), которое именно это и делает.С его помощью вы можете сделать моментальные снимки переменных (щелкнув по ним правой кнопкой мыши и выбрав «Сохранить переменную»), а затем выполнить различие между переменной и снимком ее значения, которое вы сохранили ранее.Предыдущие и текущие значения каждого элемента в коллекции отображаются бок о бок, как в инструменте сравнения, и вы можете искать в процессе сравнения данных.
Примечание 1: Снимки в настоящее время не могут быть сохранены в файл, и их можно сравнивать только с одним сеансом отладки.
Примечание 2: В текущей версии BugAid поиск и сохранение снимков работают только до 3 уровнейграф объектов.В следующей версии вы сможете контролировать, насколько глубоко вы хотите искать / сохранять данные.
Пожалуйста, дайте мне знать, если это вам помогает или нет.