Ler em inglês

Compartilhar via


Texto do literal de cadeia de caracteres bruta: """ em literais de cadeia de caracteres

Um literal de cadeia de caracteres começa e termina com, no mínimo, três caracteres de aspas duplas ("):

C#
var singleLine = """This is a "raw string literal". It can contain characters like \, ' and ".""";

Literais de cadeia de caracteres bruta podem abranger várias linhas:

C#
var xml = """
        <element attr="content">
            <body>
            </body>
        </element>
        """;

As seguintes regras regem a interpretação de um literal de cadeia de caracteres bruta de várias linhas:

  • As aspas iniciais precisam ser o último elemento na linha que não seja um comentário, e as aspas finais devem ser o primeiro elemento na linha subsequente que não seja um comentário.
  • Espaços em branco à esquerda das aspas de fechamento são removidos de todas as linhas do literal de cadeia de caracteres bruta.
  • O espaço em branco após as aspas de abertura na mesma linha é ignorado.
  • Linhas somente de espaço em branco após as aspas de abertura são incluídas no literal de cadeia de caracteres.
  • Caso um espaço em branco preceda o delimitador final na mesma linha, o número exato e o tipo dos caracteres de espaço em branco (por exemplo, espaços vs. guias) 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 está incluída na cadeia de caracteres literal.

Talvez seja necessário criar um literal de cadeia de caracteres bruta que tenha três ou mais caracteres de aspas duplas consecutivos. Literais de cadeia de caracteres bruta 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 contiver três aspas duplas consecutivas, você começará e terminará o literal de cadeia de caracteres bruta com quatro caracteres de aspas duplas:

C#
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 um literal de cadeia de caracteres bruta com caracteres de aspas, use o formato de várias linhas:

C#
var MultiLineQuotes = """"
               """Raw string literals""" can start and end with more than three double-quotes when needed.
               """";

Os literais de cadeia de caracteres brutos também podem ser combinados com a interpolação da cadeia de caracteres para incorporar os caracteres { e } na cadeia de caracteres de saída. Use vários caracteres $ em um literal de cadeia de caracteres bruto interpolado, para inserir os caracteres { e } na cadeia de caracteres de saída, sem escapar deles.

O conteúdo do literal da cadeia de caracteres bruta não deve conter um conjunto de caracteres " contíguos, cujo comprimento é igual ou maior que o comprimento do delimitador literal da cadeia de caracteres bruta. Por exemplo, as cadeias de caracteres """" """ """" e """"""" """""" """"" """" """ """"""" estão bem formadas. No entanto, as cadeias de caracteres """ """ """ e """ """" """ estão mal formadas

Literais de cadeia de caracteres bruta foram introduzidos no C# 11.

Confira também