почему эта дословная строка не работает, как я ожидаю, для утверждения модульного теста и показывает странное значение в отладчике? - PullRequest
4 голосов
/ 21 марта 2011

enter image description here

ВОПРОС: Почему отладчик показывает "directagents \ a \ aanodide" вместо значения дословной строки @ "directagents \ aanodide".

ОБНОВЛЕНИЕ Это похоже на причуду ReSharper.Для воспроизведения:

  1. Введите буквенную строку с символом "\ a".
  2. Примените рефакторинг "Заменить на дословную строку"
    • "\ a"становится невидимым в этой строке:
    • "\ a" на самом деле не исчезло.

Больше свидетельств из окна, отображающего Hand Typed VS.Копировать вставить.enter image description here

1 Ответ

4 голосов
/ 21 марта 2011

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

Строковая строка, кроме принятия новой строки, также не распознает escape-последовательности, поэтому \ a, являющийся символом колокольчика, заканчивается как двасимволы в одном регистре и как один символ, если не использовать стиль дословно.

Вы можете найти ссылку на строковые литералы C # здесь .

...