Немедленное окно вывода программно

У меня есть приложение, которое реализует собственную консоль C# (с помощью скриптового движка Roslyn). Я уже получил код для выполнения оператора и получил возможное возвращаемое значение, и теперь я хотел бы вывести "хорошую" строку на консоль. Тривиальный подход к вызову "ToString()" обычно приводит к нечитаемому выводу.

Лучшим решением для меня было бы иметь тот же вид результатов проверки, что и в "Немедленном окне" Visual Studio.

Так, например, если мое утверждение вычисляется в новую строку []{"asd"}, то просто вызов ToString () даст мне

System.String[]

где я хотел бы получить эквивалентный вывод Immediate Window - что-то вроде этого:

{string[1]}
    [0]: "asd"

Так кто-нибудь знает, как вызвать то же преобразование, которое использует Immediate Window?

2 ответа

Похоже, у вас есть массив строк, содержащий одну строку, и вы вызываете.ToString() для массива. Попробуй заменить

.ToString()

с

[0].ToString()

и посмотрим, даст ли это ожидаемый результат.

В дополнение к предыдущим комментариям / ответам вы можете использовать любой тип сериализатора, который выводит удобочитаемое значение. Я использовал Json.NET для этого:

string humanReadable = JsonConvert.SerializeObject(someObj, Formatting.Indented);

Пакет Nuget: http://nuget.org/packages/Newtonsoft.Json/

Другие вопросы по тегам