-
01-10-2019 - |
题
使用Visual Studio 2010 Professional,我有一个 ToString()
看起来这样的方法:
public override string ToString()
{
return "something" + "\n" + "something";
}
因为有几个something
“',每个人都很长,我想看看
something
something
可悲的是,我看到
"something\nsomething"
有办法获得我想要的东西吗?
解决方案
实际上有一种方法。您可以在“直接窗口”中使用格式指定器来更改显示格式。如果您的字符串中有带有返回的马车返回和lineFeeds(“ r n”),则可以遵循使用'no quotes'格式指定符的打印请求。
在直接窗口类型中:
?MyObj.ToString(),nq
和 \r\n
将在直接窗口中引起新线。
有关格式指定符的更多信息,请参见:http://msdn.microsoft.com/en-us/library/e514eeby.aspx
其他提示
不幸的是没有。这里发生的是调试器API设计的工件。
负责处理的组件 ToString()
呼叫是表达式评估器。这是大多数调试器窗口(手表,当地人,立即等)的数据源。
对于每个窗口,但是直接的值都显示在一行上。在单行上显示多行字符串是没有多大意义的。因此,表达式评估器通过将newline字符逃脱到可显示的版本中,使字符串更加可显示。
该技术适合当地人和手表窗口。但是,在直接窗口中,显示多行值更有意义,它的意义不大。不幸的是,表达式评估者不知道显示其数据将在何处显示的上下文,因此可以进行安全操作,以逃避新线。
不隶属于 StackOverflow