C# Language
Verbatim Strings
Поиск…
Синтаксис
@ "verbatim strings - это строки, содержимое которых не экранировано, поэтому в этом случае \ n не представляет символ новой строки, а два отдельных символа: \ и n. Строки Verbatim создаются с префиксом содержимого строки символом @
@ «Чтобы избежать кавычек», используются «двойные кавычки».
замечания
Чтобы объединить строковые литералы, используйте символ @ в начале каждой строки.
var combinedString = @"\t means a tab" + @" and \n means a newline";
Многострочные струны
var multiLine = @"This is a
multiline paragraph";
Выход:
Это
многострочный абзац
Живая демонстрация на .NET скрипке
Многострочные строки, содержащие двойные кавычки, также могут быть экранированы так же, как и в одной строке, потому что они являются стенографическими строками.
var multilineWithDoubleQuotes = @"I went to a city named
""San Diego""
during summer vacation.";
Живая демонстрация на .NET скрипке
Следует отметить, что пробелы / табуляции в начале строк 2 и 3 здесь действительно присутствуют в значении переменной; проверьте этот вопрос на предмет возможных решений.
Выход из двойных котировок
Двойные кавычки внутри строк verbatim можно экранировать, используя две последовательные двойные кавычки ""
для представления одной двойной кавычки "
в полученной строке.
var str = @"""I don't think so,"" he said.";
Console.WriteLine(str);
Выход:
«Я так не думаю», - сказал он.
Живая демонстрация на .NET скрипке
Интерполированные стенограммы Verbatim
Строки Verbatim могут быть объединены с новыми функциями интерполяции String, найденными на C # 6.
Console.WriteLine($@"Testing \n 1 2 {5 - 2}
New line");
Выход:
Тестирование \ n 1 2 3
Новая линия
Живая демонстрация на .NET скрипке
Как и ожидалось из стенографической строки, обратные косые черты игнорируются как escape-символы. И, как и ожидалось из интерполированной строки, любое выражение внутри фигурных фигурных скобок вычисляется перед вставкой в строку в этой позиции.
Строки Verbatim инструктируют компилятор не использовать экранирование символов
В обычной строке символ обратной косой черты - это символ escape, который инструктирует компилятор для поиска следующего символа (ов) для определения фактического символа в строке. ( Полный список экранов символов )
В стенографических строках не существует символьных экранов (кроме ""
который превращен в "
). Чтобы использовать строку verbatim, просто добавьте @
перед стартовыми кавычками.
Эта стенографическая строка
var filename = @"c:\temp\newfile.txt"
Выход:
C: \ Temp \ newfile.txt
В отличие от использования обычной (невербальной) строки:
var filename = "c:\temp\newfile.txt"
который будет выводить:
c: emp
ewfile.txt
используя экранирование символов. ( \t
заменяется символом табуляции, а \n
заменяется на новую строку.)
Живая демонстрация на .NET скрипке