Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Необработанный текст строкового литерала —
Необработанный строковый литерал начинается и заканчивается как минимум тремя двойными кавычками (") символами:
var singleLine = """This is a "raw string literal". It can contain characters like \, ' and ".""";
Необработанные строковые литералы могут охватывать несколько строк:
var xml = """
<element attr="content">
<body>
</body>
</element>
""";
Следующие правила управляют интерпретацией многострочный необработанный строковый литерал:
- Открываемые кавычки должны быть последними символами не-пробелов в их строке, а закрывающие кавычки должны быть первыми символами не-пробелов в их строке.
- Любое пробелы слева от закрывающих кавычки удаляются из всех строк необработанного строкового литерала.
- Любое пробелы после открывающих кавычки в той же строке игнорируются.
- Пробелы включаются в строковый литерал только после открывающей кавычки.
- Если пробел предшествует конечному разделителю в одной строке, то точное число и тип символов пробелов (например, пробелы и вкладки) должны существовать в начале каждой строки содержимого. В частности, пространство не соответствует горизонтальной вкладке и наоборот.
- Новая строка перед закрывающей кавычками не включается в литеральную строку.
Подсказка
Visual Studio и комплект средств разработки C# предоставляют некоторые проверки и синтаксис выделения, когда необработанные строковые литералы содержат данные JSON или регулярные выражения.
Средства синтаксического анализа текста. Если средства уверены, что текст представляет JSON или регулярное выражение, редактор предоставляет цвет синтаксиса.
Вы можете улучшить этот интерфейс, добавив комментарий над объявлением, указывающим формат:
-
// lang=jsonуказывает, что необработанный строковый литерал представляет данные JSON. -
// lang=regexуказывает, что необработанный строковый литерал представляет регулярное выражение.
Если необработанный строковый литерал используется в качестве аргумента, в котором параметр использует System.Diagnostics.CodeAnalysis.StringSyntaxAttribute формат, эти средства проверяют необработанный строковый литерал для некоторых типов форматов. Поддерживаются как JSON, так и regex.
В некоторых форматах комментарий или атрибут позволяют предлагать предложения кода для строковых литералов в зависимости от формата.
Может потребоваться создать необработанный строковый литерал с тремя или более последовательными символами двойного кавычки. Необработанные строковые литералы могут начинаться и заканчиваться по крайней мере тремя символами двойной кавычки. Если строковый литерал содержит три последовательные двойные кавычки, вы начинаете и заканчиваете необработанный строковый литерал с четырьмя двойными кавычками:
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.
"""";
Необработанные строковые литералы также можно объединить с в выходную строку. Вы используете несколько $ символов в интерполированном строковом литерале для внедрения { и } символов в выходную строку без их экранирования.
Содержимое необработанного " строкового литерала не должно содержать набор смежных символов, длина которого равна или больше длины необработанного литерального разделителя строк. Например, строки и """" """ """" хорошо сформированы""""""" """""" """"" """" """ """"""". Однако строки """ """ """ и """ """" """ не сформированы