以编程方式输出立即窗口

时间:2013-05-29 08:57:11

标签: c# visual-studio visual-studio-debugging immediate-window

我有一个应用程序正在实现自己的C#控制台(通过Roslyn的脚本引擎)。我已经获得了执行语句的代码并获得了可能的返回值,现在我想向控制台输出一个“nice”字符串。调用“ToString()”的简单方法通常会产生非常难以理解的输出。

对我来说,最好的解决方案是使用与Visual Studio的“立即窗口”相同的检查输出。

因此,例如,如果我的语句求值为新字符串[] {“asd”},那么只需调用ToString()就可以给我

System.String[]

我想拥有立即窗口的等效输出 - 如下所示:

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

那么有人知道如何调用立即窗口使用的相同转换吗?

2 个答案:

答案 0 :(得分:1)

看来你有一个包含单个String的字符串数组,并且对数组调用.ToString()。 尝试替换

.ToString()

[0].ToString()

并查看是否会给您预期的结果。

答案 1 :(得分:1)

除了之前的评论/答案,您还可以使用任何类型的串行器来输出人类可读的值。我已经使用了Json.NET:

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

Nuget包:http://nuget.org/packages/Newtonsoft.Json/