Ir para o conteúdo do rodapé
AJUDA DO .NET

Strings multilinhas em C# (Como funciona para desenvolvedores)

Ao começar a programar em C#, strings são um dos primeiros conceitos que você aprende. Se você já montou um programa Hello, World!, então você já trabalhou com strings.

À medida que você se familiariza com C#, seus programas se tornarão mais complexos. Em pouco tempo, você começará a trabalhar com strings que abrangem várias linhas. Se você chegou a esse ponto, então está com sorte, porque neste guia explicaremos o que são strings de múltiplas linhas e como usá-las. Vamos começar.

O que é uma string multilinha?

As strings multilinhas são exatamente o que o nome indica: uma string que se estende por várias linhas, em contraste com a string usual de linha única. Em C#, uma string multilinha é criada usando literais de string, que são uma série de caracteres delimitados por aspas duplas. Para formar strings com várias linhas, precisamos usar um tipo especial de literal de string chamado literal de string verbatim.

A Magia das Strings Verbatim

Para criar uma string literal de várias linhas em C#, usamos strings literais. As strings literais são prefixadas com o símbolo @ e permitem incluir quebras de linha, caracteres especiais e até mesmo espaços em branco sem usar sequências de escape.

Aqui está um exemplo de uma string multilinha usando uma string literal:

string str = @"This is a
multiline string
in C#.";
string str = @"This is a
multiline string
in C#.";
Dim str As String = "This is a
multiline string
in C#."
$vbLabelText   $csharpLabel

A sequência str contém três linhas, e cada linha é separada por uma quebra de linha. Observe o uso do símbolo @ para criar a string literal.

Caracteres de fuga em strings literais

Pode haver casos em que seja necessário incluir aspas duplas em uma string literal. Para fazer isso, você precisa usar aspas duplas. Por exemplo:

string str = @"This is a
""multiline""
string in C#.";
string str = @"This is a
""multiline""
string in C#.";
Dim str As String = "This is a
""multiline""
string in C#."
$vbLabelText   $csharpLabel

Neste exemplo, a string str contém a palavra "multiline" entre aspas duplas, o que é conseguido usando aspas duplas dentro da string literal.

Concatenando strings de várias linhas

Frequentemente, você poderá precisar combinar strings de várias linhas com outras strings ou valores. Para concatenar uma string de várias linhas com outros valores de string, você pode usar o operador +, da mesma forma que faria com strings de linha única.

string name = "John";
string str = @"Hello, " + name + @",
Welcome to the
world of C# multiline strings!";
string name = "John";
string str = @"Hello, " + name + @",
Welcome to the
world of C# multiline strings!";
Dim name As String = "John"
Dim str As String = "Hello, " & name & ",
Welcome to the
world of C# multiline strings!"
$vbLabelText   $csharpLabel

Aqui, concatenamos a string de várias linhas com uma string de linha única name.

Formatação de strings multilinhas

Ao trabalhar com strings de várias linhas, você pode formatá-las com variáveis ​​ou expressões. Para formatar uma string com várias linhas, você pode usar o símbolo $ para interpolação de strings.

int age = 25;
string str = $@"Hello, I am {age} years old,
and I am learning
C# multiline strings!";
int age = 25;
string str = $@"Hello, I am {age} years old,
and I am learning
C# multiline strings!";
Dim age As Integer = 25
Dim str As String = $"Hello, I am {age} years old,
and I am learning
C# multiline strings!"
$vbLabelText   $csharpLabel

Utilizamos interpolação de strings para incluir o valor da variável age dentro da string de múltiplas linhas.

Convertendo strings de várias linhas em strings de linha única

Às vezes, você pode precisar converter strings de várias linhas em strings de linha única. Para conseguir isso, você pode usar o método Replace para substituir quebras de linha por um espaço ou qualquer outro caractere desejado.

string multilineString = @"This is a
multiline string
in C#.";

string singleLineString = multilineString.Replace(Environment.NewLine, " ");
string multilineString = @"This is a
multiline string
in C#.";

string singleLineString = multilineString.Replace(Environment.NewLine, " ");
Dim multilineString As String = "This is a
multiline string
in C#."

Dim singleLineString As String = multilineString.Replace(Environment.NewLine, " ")
$vbLabelText   $csharpLabel

Substituímos as quebras de linha na string de várias linhas por um espaço, resultando em uma string de linha única.

Manuseio de strings longas

Às vezes, sequências muito longas podem ser difíceis de ler no seu código. Para tornar o código mais legível, você pode dividir strings longas em várias linhas usando o operador +.

string longString = "This is a very long string that " +
                    "needs to be split across " +
                    "multiple lines for better readability.";
string longString = "This is a very long string that " +
                    "needs to be split across " +
                    "multiple lines for better readability.";
Dim longString As String = "This is a very long string that " & "needs to be split across " & "multiple lines for better readability."
$vbLabelText   $csharpLabel

Dividimos a longa sequência de uma única linha em três partes e as concatenamos usando o operador +, tornando o código mais legível.

Criando literais de string multilinha com literais de string brutos

Em C# 10, foi introduzido um novo recurso chamado literais de string brutos. Isso nos permite criar literais de string de várias linhas sem usar o símbolo @. Para criar uma string literal bruta, envolvemos a string em aspas triplas ("""). As strings literais brutas preservam todos os caracteres, incluindo quebras de linha, dentro das aspas triplas. Por exemplo:

string str = """This is a
multiline string
using raw string literals in C# 10.""";
string str = """This is a
multiline string
using raw string literals in C# 10.""";
Dim str As String = """This is a multiline string using raw string literals in C# 10."""
$vbLabelText   $csharpLabel

Criamos uma string multilinha usando literais de string brutos. Observe o uso de aspas triplas para delimitar a sequência de caracteres.

Escapando caracteres em literais de string bruta

Assim como acontece com strings literais, talvez precisemos incluir aspas duplas em nossas strings brutas. Para isso, podemos usar aspas duplas. Por exemplo:

string str = """This is a
""multiline""
string using raw string literals in C# 10.""";
string str = """This is a
""multiline""
string using raw string literals in C# 10.""";
Dim str As String = """This is a ""multiline"" string using raw string literals in C# 10."""
$vbLabelText   $csharpLabel

Incluímos aspas duplas na string literal bruta usando aspas duplas.

Combinando literais de strings literais e textuais brutas

Em alguns casos, podemos querer combinar as características de literais de string tanto na forma literal quanto na forma bruta. Isso pode ser feito usando o símbolo @ seguido de aspas triplas.

string str = @"""This is a
multiline string
using both verbatim and raw string literals in C# 10.""";
string str = @"""This is a
multiline string
using both verbatim and raw string literals in C# 10.""";
Dim str As String = """This is a
multiline string
using both verbatim and raw string literals in C# 10."""
$vbLabelText   $csharpLabel

Neste exemplo, criamos uma string multilinha usando literais de string tanto na íntegra quanto em formato bruto. Observe o uso do símbolo @ seguido por aspas triplas.

Utilizando strings multilinha para gerar PDFs no IronPDF

IronPDF é uma biblioteca PDF .NET leve, projetada especificamente para desenvolvedores web. Facilita a leitura, a escrita e a manipulação de arquivos PDF, sendo capaz de converter todos os tipos de arquivos em conteúdo PDF, e você pode usá-lo em seus projetos .NET , tanto para desktop quanto para a web. A melhor parte: é grátis para experimentar em um ambiente de desenvolvimento.

Veja como utilizar uma string HTML multilinha para criar um arquivo PDF no IronPDF:

string name = "John";
string age = "25";
string content = $@"<!DOCTYPE html>
<html>
<body>
<h1>Hello, {name}!</h1>
<p>You are {age} years old.</p>
<p>This is a
multiline string
used to generate a PDF
with IronPDF and dynamic content.</p>
</body>
</html>";

// Create a new PDF document using IronPDF
var pdfDocument = new IronPdf.ChromePdfRenderer();
pdfDocument.RenderHtmlAsPdf(content).SaveAs("c://BioData.pdf");
string name = "John";
string age = "25";
string content = $@"<!DOCTYPE html>
<html>
<body>
<h1>Hello, {name}!</h1>
<p>You are {age} years old.</p>
<p>This is a
multiline string
used to generate a PDF
with IronPDF and dynamic content.</p>
</body>
</html>";

// Create a new PDF document using IronPDF
var pdfDocument = new IronPdf.ChromePdfRenderer();
pdfDocument.RenderHtmlAsPdf(content).SaveAs("c://BioData.pdf");
Dim name As String = "John"
Dim age As String = "25"
Dim content As String = $"<!DOCTYPE html>
<html>
<body>
<h1>Hello, {name}!</h1>
<p>You are {age} years old.</p>
<p>This is a
multiline string
used to generate a PDF
with IronPDF and dynamic content.</p>
</body>
</html>"

' Create a new PDF document using IronPDF
Dim pdfDocument = New IronPdf.ChromePdfRenderer()
pdfDocument.RenderHtmlAsPdf(content).SaveAs("c://BioData.pdf")
$vbLabelText   $csharpLabel

Neste exemplo, usamos interpolação de strings para incluir as variáveis ​​name e age em nossa string multilinha, tornando o conteúdo do nosso PDF dinâmico e personalizável. Criamos uma string multilinha com o conteúdo que desejávamos no PDF. Em seguida, instanciamos a classe ChromePdfRenderer do namespace IronPDF e usamos o método RenderHtmlAsPdf para converter o conteúdo da string multilinha em um documento PDF. Por fim, salvamos o documento PDF em um arquivo chamado "BioData.pdf".

Conclusão

E essa foi uma breve visita ao versátil mundo das strings multilinhas. Agora que você é um profissional em strings multilinhas em C#, pode começar a implementá-las em seus projetos - como no exemplo com IronPDF acima.

Está interessado em adquirir o IronPDF? Você pode começar com nosso teste gratuito de 30 dias do IronPDF . Além disso, é totalmente gratuito para uso em desenvolvimento, permitindo que você realmente veja do que ele é capaz. E se você gostar do que vê, o IronPDF começa a partir de apenas $799 para uma licença do IronPDF . Para economizar ainda mais, confira o pacote Iron Suite , onde você adquire todas as nove ferramentas do Iron Software pelo preço de duas. Boa programação!

Csharp Multiline String 2 related to Conclusão

Perguntas frequentes

Como criar uma string multilinha em C#?

Em C#, você pode criar uma string multilinha usando literais de string verbatim, prefixando a string com o símbolo '@'. Isso permite incluir quebras de linha e caracteres especiais diretamente na string.

Qual é a finalidade de usar literais de string verbatim em C#?

Em C#, as strings literais verbatim são usadas para criar strings que preservam quebras de linha e caracteres especiais sem a necessidade de sequências de escape. Elas são indicadas pelo símbolo '@', o que as torna ideais para escrever strings com várias linhas.

Como lidar com caracteres especiais, como aspas duplas, em strings literais?

Em strings literais, você pode incluir aspas duplas usando aspas duplas sobrepostas. Por exemplo, '@"Esta é uma string ""multilinha""".' permite incluir aspas duplas dentro da string.

O que são literais de string bruta em C# 10 e como funcionam?

As strings literais brutas, introduzidas no C# 10, permitem a criação de strings multilinha sem o uso do símbolo '@'. Elas são delimitadas por aspas triplas e mantêm todos os caracteres, incluindo quebras de linha, exatamente como aparecem.

Como usar strings de várias linhas na geração de PDFs?

Cadeias de caracteres multilinha podem ser usadas para criar conteúdo dinâmico em formato HTML, que pode então ser convertido em documentos PDF usando bibliotecas como o IronPDF, que suportam a conversão de HTML para PDF.

O que é interpolação de strings e como ela é aplicada a strings com várias linhas?

A interpolação de strings em C# permite incorporar variáveis ou expressões dentro de strings usando o símbolo '$'. Ela pode ser usada com strings de várias linhas para incluir conteúdo dinâmico de forma transparente.

Como converter uma string de várias linhas em uma string de linha única em C#?

Para converter uma string de várias linhas em uma string de linha única, você pode usar o método Replace para substituir quebras de linha por espaços ou outro caractere. Por exemplo: multilineString.Replace(Environment.NewLine, " ") .

Por que os desenvolvedores devem usar bibliotecas para geração de PDFs em aplicativos .NET?

Bibliotecas projetadas para geração de PDFs em .NET, como o IronPDF, simplificam o processo de leitura, gravação e manipulação de PDFs. Elas suportam a conversão de diversos tipos de arquivo em PDFs, fornecendo um conjunto de ferramentas robusto para aplicações desktop e web.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais

Equipe de suporte de ferro

Estamos online 24 horas por dia, 5 dias por semana.
Bater papo
E-mail
Liga para mim