Необработанный текст строкового литерала — """
в строковых литералах
Необработанный строковый литерал начинается и заканчивается как минимум тремя двойными кавычками ("
) символами:
var singleLine = """This is a "raw string literal". It can contain characters like \, ' and ".""";
Необработанные строковые литералы могут охватывать несколько строк:
var xml = """
<element attr="content">
<body>
</body>
</element>
""";
Следующие правила управляют интерпретацией многострочный необработанный строковый литерал:
- Открываемые кавычки должны быть последним маркером без комментариев в соответствующей строке, а закрывающая цитата должна быть первым маркером без комментариев в соответствующей строке.
- Любое пробелы слева от закрывающих кавычки удаляются из всех строк необработанного строкового литерала.
- Пробелы после открывающей кавычки в той же строке игнорируются.
- Пробелы включаются в строковый литерал только после открывающей кавычки.
- Если пробел предшествует конечному разделителю в одной строке, то точное число и тип символов пробелов (например, пробелов и вкладок) должно существовать в начале каждой строки содержимого. В частности, пространство не соответствует горизонтальной вкладке и наоборот.
- Новая строка перед закрывающей кавычками не включается в литеральную строку.
Может потребоваться создать необработанный строковый литерал с тремя или более последовательными символами двойного кавычки. Необработанные строковые литералы могут начинаться и заканчиваться по крайней мере тремя символами двойной кавычки. Если строковый литерал содержит три последовательные двойные кавычки, вы начинаете и заканчиваете необработанный строковый литерал с четырьмя двойными кавычками:
var moreQuotes = """" As you can see,"""Raw string literals""" can start and end with more than three double-quotes when needed."""";
Если необходимо запустить или завершить необработанный строковый литерал с символами кавычки, используйте многострочный формат:
var MultiLineQuotes = """"
"""Raw string literals""" can start and end with more than three double-quotes when needed.
"""";
Необработанные строковые литералы также можно объединить с }
в выходную строку. Вы используете несколько $
символов в интерполированном строковом литерале для внедрения {
и }
символов в выходную строку без их экранирования.
Содержимое необработанного "
строкового литерала не должно содержать набор смежных символов, длина которого равна или больше длины необработанного литерального разделителя строк. Например, строки и """" """ """"
хорошо сформированы""""""" """""" """"" """" """ """""""
. Однако строки """ """ """
и """ """" """
не сформированы
Необработанные строковые литералы появились в C# 11.