使用Visual Studio 2010 Professional,我有一个ToString()
方法,如下所示:
public override string ToString()
{
return "something" + "\n" + "something";
}
因为有几个“something
”并且每个都很长,我想看看
something
something
可悲的是,我正在看
"something\nsomething"
有没有办法得到我想要的东西?
答案 0 :(得分:107)
实际上还有一种方法。您可以使用即时窗口中的格式说明符来更改显示的格式。如果你有一个带有回车符和换行符的字符串(“\ r \ n”),你可以使用'no quotes'格式说明符来跟随打印请求。
在即时窗口中输入:
?MyObj.ToString(),nq
并且\r\n
将在即时窗口中生成换行符。
有关格式说明符的更多信息,请参阅: http://msdn.microsoft.com/en-us/library/e514eeby.aspx
答案 1 :(得分:-4)
不幸的是没有。这里发生的是调试器API设计的工件。
负责处理ToString()
调用的组件是表达式计算器。它是大多数调试器窗口(手表,本地,立即等)的数据源。
对于每个窗口,但是立即将值显示在一行上。在一行上显示多行字符串没有多大意义。因此,表达式计算器通过将换行符转换为可显示的版本,使字符串更易于显示。
此技术适用于本地人和观察窗口。但是在即时窗口中,显示多行值更有意义,因此它的含义更少。不幸的是,表达式求值程序不知道它的数据显示位置的上下文,因此可以安全地操作以逃避换行。