使用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字符逃脱到可显示的版本中,使字符串更加可显示。

该技术适合当地人和手表窗口。但是,在直接窗口中,显示多行值更有意义,它的意义不大。不幸的是,表达式评估者不知道显示其数据将在何处显示的上下文,因此可以进行安全操作,以逃避新线。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top