Как создать дословную строку C# без возврата каретки - PullRequest
0 голосов
/ 24 апреля 2020

У меня странная ситуация. Когда я делаю строку дословно следующим образом:

string str = @"Hello 
World"

Строка создается с "\ r \ n", так что это "Hello \ r \ nWorld". Я хочу, чтобы он создавался только с новой строкой, без возврата каретки, так что это только "\ n".

Теперь я понимаю, что могу сделать:

str = str.Replace("\r", "")

Но строка является константной переменной именно потому, что я не хочу много экземпляров и манипуляций для производительности (независимо от того, насколько мала), и т. д. c

Кто-нибудь знает, как я мог сделать это так, чтобы я мог написать многострочный текст, хранящийся в виде константной строки без "\ r", который по-прежнему выглядит отформатированным и легко читаемым в коде?

1 Ответ

1 голос
/ 25 апреля 2020

Это делает ваш редактор, а не C#.

Если вы посмотрите на свой код в шестнадцатеричном редакторе, вы увидите, что строка "string str = @" Hello " заканчивается \ r \ n, а не просто \ n.

В Windows по умолчанию возвращаемое значение равно двум символам \ r \ n, а не одному, как у Ma c \ n.

Большинство редакторов имеют возможность изменить это, однако, в конечном итоге что-то переключит файл обратно на использование \ r \ n на вас, когда вы не смотрите.

Язык не ' Это не так. Просто используйте невербальную строку или замените.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...