Manipular cadeias de caracteres
Dica
Consulte a guia Texto e imagens para obter mais detalhes!
O texto é um dos tipos mais comuns de dados na programação. Em C#, o texto é representado como uma cadeia de caracteres — uma sequência de caracteres entre aspas duplas. O C# fornece muitas maneiras internas de manipular e formatar cadeias de caracteres.
Concatenação (unindo cadeias de caracteres)
Você pode unir duas ou mais cadeias de caracteres em uma única cadeia de caracteres usando o + operador:
string first = "Hello";
string last = "world";
string message = first + ", " + last + "!";
Console.WriteLine(message);
Saída:
Hello, world!
Embora a concatenação funcione bem para combinações simples, ela pode ficar confusa quando você tenta misturar variáveis, pontuação e espaços juntos.
Uma maneira melhor: interpolação de cadeia de caracteres
Uma maneira mais limpa e moderna de combinar cadeias de caracteres e variáveis é com interpolação de cadeia de caracteres. Para criar esse tipo de sequência de caracteres, coloque um sinal de dólar ($) diretamente antes das aspas de abertura e coloque os nomes das variáveis entre chaves {}:
string name = "Alex";
Console.WriteLine($"Hello, {name}!");
Saída:
Hello, Alex!
Você pode tentar executar esse código por conta própria no Editor de Código em C#.
Uma maneira mais limpa de combinar entrada e saída
A interpolação de cadeia de caracteres resolve o problema que vimos anteriormente com Console.ReadLine(). Agora você pode misturar texto e variáveis facilmente:
string name = Console.ReadLine();
Console.WriteLine($"Hello, {name}! Nice to meet you.");
Isso é muito mais limpo do que concatenar com +.
Note
Se você esquecer o prefixo $ (por exemplo, Console.WriteLine("Hello, {name}")), o C# não interpretará o conteúdo entre chaves — ele literalmente imprimirá {name} na tela.
Métodos comuns de cadeia de caracteres
As cadeias de caracteres C# têm muitos métodos internos para operações comuns. Para usar um método, digite o nome da variável, um ponto e o nome do método seguido por parênteses:
| Método | O que faz | Exemplo | Result |
|---|---|---|---|
.ToUpper() |
Converte texto em maiúsculas | "hello".ToUpper() |
"HELLO" |
.ToLower() |
Converte texto em minúsculas | "HELLO".ToLower() |
"hello" |
.Replace(old, new) |
Troca caracteres específicos | "cat".Replace("c", "b") |
"bat" |
.Length |
Retorna o número de caracteres | "Alex".Length |
4 |
Exemplo prático
Veja como você pode usar essas técnicas em conjunto:
Console.Write("What's your name? ");
string name = Console.ReadLine();
string greeting = $"Welcome, {name.ToUpper()}!";
Console.WriteLine(greeting);
Se o usuário digitar alex, a saída será:
What's your name? alex
Welcome, ALEX!
Observe como .ToUpper() converteu a entrada do usuário em maiúsculas, e a interpolação de strings facilitou combinar tudo.