Немедленное окно вывода программно
У меня есть приложение, которое реализует собственную консоль 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/