2015-06-28 4 views
4

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

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

выход

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

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

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

Как я могу вставить новую строку перед «полукоксом площадки» в этом дословном строковом литерале

+0

'\ n'? [15 символов] –

+1

Я вроде как не хватает '' 'в вашем источнике. Также, как именно вы его выводите? На веб-странице –

+0

да, например, на ярлыке –

ответ

4

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

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

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

От msdn:

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

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

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

+0

Я собрал от OP, что они знали, что , но их жалоба заключалась в том, что они получили выход на одной строке. –

+0

Выходной сигнал находится на одной линии. –

Смежные вопросы