Новая строка в дословном строковом литерале

У меня есть строка следующим образом:

string example = @"string str = ""forty-two"";
char pad = '*';

выход

string str = "forty-two"; char pad = '*';

в одной строке. Мне нужен вывод как follwos

string str = "forty-two"; 
char pad = '*';

Как я могу вставить новую строку перед 'char pad' в этом дословном строковом литерале

1 ответ

В буквальном строковом литерале, кроме двух двойных кавычек, все управляющие символы интерпретируются дословно, поэтому, если вам нужна двухстрочная строка, вы должны вручную написать ее в две строки:

string example = @"string str = ""forty-two"";
char pad = '*';";

Console.WriteLine(example); // string str = "forty-two";
                            // char pad = '*';

Из MSDN:

Строковый литерал, такой как @"c:\Foo", называется дословным строковым литералом. В основном это означает, что "не применяйте никаких интерпретаций к символам, пока не будет достигнут следующий символ кавычки". Таким образом, буквальный строковый литерал может содержать обратную косую черту (без их удвоения) и даже разделители строк. Чтобы получить двойные кавычки (") в дословном литерале, вам нужно просто удвоить его, например, @" Меня зовут "" Джон "" "представляет строку" Меня зовут "Джон. Строковые литералы дословно, которые содержат разделители строк также будет содержать пробелы в начале строки, поэтому я не буду использовать их в тех случаях, когда пробелы имеют значение. Они очень удобны для включения XML или SQL в ваш исходный код, хотя и другое типичное использование (который не нуждается в разделителях строк) для указания пути к файловой системе.

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

[Автор: Джон Скит]

Другие вопросы по тегам