Texto literal de cadeia de caracteres bruto - """
em literais de cadeia de caracteres
Um literal de cadeia de caracteres bruta começa e termina com um mínimo de três aspas duplas ("
) caracteres:
var singleLine = """This is a "raw string literal". It can contain characters like \, ' and ".""";
Os literais de cadeia de caracteres brutos podem abranger várias linhas:
var xml = """
<element attr="content">
<body>
</body>
</element>
""";
As regras a seguir regem a interpretação de um literal de cadeia de caracteres bruta de várias linhas:
- As cotações de abertura devem ser o último token de não-comentário em sua respetiva linha, e a cotação de fechamento deve ser o primeiro token não-comentário em sua respetiva linha.
- Qualquer espaço em branco à esquerda das aspas de fechamento é removido de todas as linhas da cadeia de caracteres bruta literal.
- O espaço em branco após a citação de abertura na mesma linha é ignorado.
- Apenas as linhas de espaço em branco após a citação de abertura são incluídas no literal da cadeia de caracteres.
- Se um espaço em branco preceder o delimitador final na mesma linha, o número exato e o tipo de caracteres de espaço em branco (por exemplo, espaços vs. tabulações) devem existir no início de cada linha de conteúdo. Especificamente, um espaço não corresponde a uma guia horizontal e vice-versa.
- A nova linha antes das aspas de fechamento não é incluída na cadeia de caracteres literal.
Talvez seja necessário criar um literal de cadeia de caracteres bruto que tenha três ou mais caracteres consecutivos entre aspas duplas. Os literais de cadeia de caracteres brutos podem começar e terminar com uma sequência de pelo menos três caracteres de aspas duplas. Quando o literal de cadeia de caracteres contém três aspas duplas consecutivas, você inicia e termina o literal de cadeia de caracteres bruto com quatro caracteres de aspas duplas:
var moreQuotes = """" As you can see,"""Raw string literals""" can start and end with more than three double-quotes when needed."""";
Se você precisar iniciar ou terminar uma cadeia de caracteres bruta literal com caracteres de aspas, use o formato de várias linhas:
var MultiLineQuotes = """"
"""Raw string literals""" can start and end with more than three double-quotes when needed.
"""";
Literais de cadeia de caracteres brutos também podem ser combinados com cadeias de caracteres interpoladas para incorporar os {
caracteres e }
na cadeia de caracteres de saída. Você usa vários $
caracteres em uma cadeia de caracteres bruta interpolada literal para incorporar {
e }
caracteres na cadeia de caracteres de saída sem escapar deles.
O conteúdo do literal de cadeia de caracteres bruto não deve conter um conjunto de caracteres contíguos "
cujo comprimento seja igual ou maior que o comprimento do delimitador literal de cadeia de caracteres bruto. Por exemplo, as cordas """" """ """"
e """"""" """""" """"" """" """ """""""
são bem formadas. No entanto, as cordas e """ """ """
são mal formadas """ """" """
Literais de cadeia de caracteres brutos foram introduzidos no C# 11.