HOWTO · Csharp
Adicionar nova linha à string em C#
Aprenda três maneiras de adicionar uma quebra de linha a uma string em C#: usar `\n`, `Environment.NewLine` ou substituir um marcador específico em um texto existente.
Nesta página
Para adicionar uma quebra de linha a uma string em C#, inclua o escape de avanço de linha \n, use Environment.NewLine para o ambiente .NET atual ou substitua um marcador específico em um texto já existente. Escolha a sequência de quebra de linha adequada ao destino do texto; um formato de arquivo ou protocolo de rede pode exigir uma sequência específica.
Adicionar uma quebra de linha a uma string em C# com \n
O escape \n representa o caractere de avanço de linha (LF). Coloque-o onde a próxima linha deve começar em um literal de string. Ele representa o próprio caractere, sem escolher uma convenção de quebra de linha com base no sistema operacional. O escape \r representa o caractere de retorno de carro (CR); use-o quando o formato dos dados exigir CR ou um par CR/LF, caso o formato especifique os dois caracteres.
Execute este exemplo:
O código e os rótulos ou saídas exibidos nesta seção permanecem em inglês.
using System;
class Program
{
static void Main()
{
string message = "First line.\nSecond line.";
Console.WriteLine(message);
}
}
First line.
Second line.
Isso é útil quando você controla a string e quer inserir um LF explicitamente. Se a string for lida por um sistema que exige outra convenção de quebra de linha, use a sequência especificada por esse sistema.
Usar Environment.NewLine para quebras de linha específicas da plataforma
Environment.NewLine fornece a sequência de quebra de linha do ambiente .NET atual. Use-a ao criar texto destinado a esse ambiente, como um arquivo de texto orientado à plataforma. Ela não detecta os requisitos de um formato de arquivo ou protocolo não relacionado. Se esses requisitos especificarem LF ou CR/LF, use diretamente a sequência exigida, mesmo que seja diferente da convenção do ambiente atual. Consulte a documentação da Microsoft sobre Environment.NewLine.
O código e os rótulos ou saídas exibidos nesta seção permanecem em inglês.
using System;
class Program
{
static void Main()
{
string message = "First line." + Environment.NewLine + "Second line.";
Console.WriteLine(message);
}
}
First line.
Second line.
Console.WriteLine também termina a saída com uma quebra de linha. A sequência inserida separa as duas partes de message; a quebra de linha final é acrescentada pelo método de saída.
Adicionar uma quebra de linha depois que uma string é criada
Strings em C# são imutáveis, portanto alterar o texto produz uma nova string. String.Replace() retorna esse novo valor; atribua-o novamente à variável para manter a alteração. O método substitui todas as ocorrências do marcador especificado, então cada <break> na entrada se transforma em uma quebra de linha. Substituir um marcador específico é mais seguro do que substituir todos os pontos, pois frases comuns podem conter pontuação que deve permanecer no lugar. A documentação existente da Microsoft sobre String.Replace() descreve o método.
O código e os rótulos ou saídas exibidos nesta seção permanecem em inglês.
using System;
class Program
{
static void Main()
{
string message = "First line.<break>Second line.";
message = message.Replace("<break>", "\n");
Console.WriteLine(message);
}
}
First line.
Second line.
Use um marcador reservado para essa finalidade, que não possa aparecer como texto comum. Se a substituição tiver de seguir o ambiente atual, substitua-o por Environment.NewLine em vez de \n. Para textos montados por você, geralmente é mais simples incluir a quebra de linha desejada na string original do que editá-la depois.
Em conjunto, as três abordagens cobrem as principais opções: inserir LF em um literal, usar a sequência do ambiente atual ou converter um marcador reservado em texto existente. O formato ou protocolo de destino determina qualquer requisito mais específico para a quebra de linha; por isso, um mapeamento separado entre plataformas e formatos está fora do escopo desta tarefa.