Новые строки в непосредственном окне

Используя Профессионала Visual Studio 2010 года, у меня есть a ToString() метод, который похож на это:

public override string ToString()
{
    return "something" + "\n" + "something";
}

Поскольку существуют несколько"something"и каждый длинен, я хотел бы видеть

something
something

К сожалению, я вижу

"something\nsomething"

Существует ли способ получить то, что я хочу?

45
задан JaredPar 19 May 2010 в 20:23
поделиться

2 ответа

Вообще-то выход есть. Вы можете использовать спецификаторы формата в непосредственном окне, чтобы изменить формат отображения. Если у вас есть строка с символом возврата каретки и перевода строки ("\ r \ n"), вы можете выполнить запрос на печать с помощью спецификатора формата "без кавычек".

В немедленном окне введите:

?MyObj.ToString(),nq

и \ r \ n вызовет перевод строки в непосредственном окне.

Подробнее о спецификаторах формата см .: http://msdn.microsoft.com/en-us/library/e514eeby.aspx

113
ответ дан 26 November 2019 в 21:03
поделиться

К сожалению, нет. То, что здесь происходит, является артефактом дизайна API-интерфейсов отладчика.

Компонент, отвечающий за обработку вызова ToString () , является вычислителем выражений. Это источник данных для большинства окон отладчика (часы, локальные, немедленные и т. Д.).

Для каждого окна, кроме непосредственного, значение отображается в отдельной строке. Отображение многострочной строки в одной строке не имеет особого смысла. Следовательно, оценщик выражений делает строку немного более отображаемой за счет экранирования символов новой строки в отображаемой версии.

Эта техника очень хорошо работает для местных жителей и окна просмотра. Но в непосредственном окне, где имеет больше смысла отображать многострочное значение, это имеет гораздо меньший смысл. К сожалению, оценщик выражений не знает контекста, в котором будут отображаться данные, и, следовательно, выполняет безопасную операцию, заключающуюся в экранировании новых строк.

-4
ответ дан 26 November 2019 в 21:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: