1. Explorando melhor o tipo string
O tipo string é um dos tipos mais usados em C#. Talvez seja até o mais usado. Ele é simplesmente sensacional, porque dá pra guardar texto nessas variáveis. E diferente dos tipos int e double, os objetos do tipo string têm um monte de funções diferentes, e com essas funções dá pra fazer várias paradas maneiras.
Além disso, todos os objetos em C# (tipo, todos mesmo) podem ser convertidos pro tipo string. Ou, falando mais certinho, todos os objetos em C# retornam sua representação em texto (string). A gente ainda vai voltar várias vezes pra esse tipo (ele é muito útil e interessante), mas hoje vamos ver o básico dele.
Criando variáveis do tipo string
O tipo string foi feito pra guardar strings (texto). Pra criar uma variável no código que vai guardar texto, é só usar o comando:
string nome;
Onde nome é o nome da variável.
Exemplos:
| Comando | Descrição |
|---|---|
| string name; | Cria a variável string name |
| string message; | Cria a variável string message |
| string text; | Cria a variável string text |
Assim como nos tipos int e double, dá pra usar uma forma curta pra criar várias variáveis do tipo string de uma vez:
string nome1, nome2, nome3;
2. Atribuindo valores às variáveis do tipo string
Pra colocar um valor numa variável do tipo string, é só usar o comando:
nome = "valor";
Aqui já aparece a primeira diferença desse tipo pros outros que a gente já viu. Todos os valores do tipo string são textos e têm que ficar entre aspas duplas.
Exemplos:
| Comando | Observação |
|---|---|
| string name = "Anya"; | A variável name contém o texto Anya |
| string city = "New York"; | A variável city contém o texto New York |
| string message = "Hello!"; | A variável message contém o texto Hello! |
3. Inicializando variáveis do tipo string
Assim como nos tipos int e double, dá pra inicializar variáveis do tipo string já na criação. Aliás, dá pra fazer isso com qualquer tipo em C#. Então nem vou ficar repetindo isso depois.
string nome1 = "string1", nome2 = "string2";
Exemplo de criação e inicialização de variáveis
string name = "Anya", city = "New York", message = "Hello!";
Só dá pra mudar variáveis que já têm valor
O compilador C# vai reclamar se você declarar uma variável sem dar valor pra ela e tentar usar.
Esse código não vai funcionar:
string name;
Console.WriteLine(name); // Variável name não foi inicializada. O programa não vai compilar.
int a;
a++; // Variável a não foi inicializada. O programa não vai compilar.
double x;
double y = x; // Variável x não foi inicializada. O programa não vai compilar.
4. Concatenação — juntando strings
Tem uma parada bem legal e simples que dá pra fazer com strings em C#: dá pra juntar elas. Essa operação se chama concatenação. Ou, pra ficar mais fácil de lembrar — Con-Ca-te-nação. Mas muita gente chama só de "juntar strings" ou até "somar strings".
Pra juntar duas strings, é só usar o sinal de +. É bem fácil:
"valor1" + "valor2"
Exemplos:
| Comando | Observação |
|---|---|
| string name = "Anya" + "Anya"; | name contém a string AnyaAnya |
| string city = "New York" + "Anya"; | city contém a string New YorkAnya |
| string message = "Hello! " + "Anya"; | message contém a string Hello! Anya |
E claro, dá pra juntar várias strings de uma vez, e também juntar strings e variáveis.
Exemplos:
string name = "Anya"; // name contém a string Anya
string city = "New York"; // city contém a string New York
string message = "Hello!" + city + name + city; // message contém a string Hello!New YorkAnyaNew York
5. Strings vazias
No último exemplo dá pra ver que o texto na variável message ficou meio ruim de ler, porque faltou espaço. Pra colocar um espaço (ou vários), é só escrever eles no código e colocar entre aspas duplas. É mais fácil do que parece:
" "
Aliás, se você não colocar nada entre as aspas (só duas aspas duplas juntas), vai criar o que a galera chama de "string vazia":
""
De um lado, ela existe, mas de outro, quando você mostra ela na tela, não aparece nada. E quando junta com outras strings, não muda nada. É tipo um zero, só que pra strings.
6. Escapando caracteres especiais em strings
Você já sabe que strings ficam entre aspas duplas. Mas e se você quiser colocar aspas dentro da string? Se a gente escrever aspas dentro da string, o compilador não vai achar que acabou a string?
Exatamente. Vai sim. Por isso, aspas dentro do texto viram a dupla de caracteres \". E o código fica assim:
string quote = "Ele disse: \"Oi!\"";
Console.WriteLine(quote); // Ele disse: "Oi!"
Na real, é um pouco mais esperto que isso. O caractere \ é considerado especial (de controle) dentro das strings. Com ele dá pra colocar vários "caracteres invisíveis" tipo quebra de linha, tabulação e tal. E pra colocar o próprio \ tem que escrever duas vezes.
Aqui vão as 4 combinações mais comuns:
| Escrita | Significado |
|---|---|
| \n | Quebra de linha (newline) |
| \t | Tabulação (espaço extra) |
| \\ | Literalmente \ |
| \" | Aspas dentro da string |
Exemplo:
string multiline = "Linha 1\nLinha 2";
Console.WriteLine(multiline);
Vai mostrar:
// Linha 1
// Linha 2
7. Interpolação de strings ($-strings)
C# é uma linguagem bem moderna, e deixa você colocar valores de variáveis dentro da string de um jeito bonito usando interpolação — só colocar o símbolo $ antes das aspas, e dentro da string usar chaves {}. Você já viu isso.
Mas o que talvez você não saiba é que dentro das chaves dá pra usar expressões inteiras e até chamar funções! Exemplo:
string name = "Olya";
int birthYear = 1999;
string info = $"Meu nome é {name}, tenho {2025-birthYear} anos.";
Console.WriteLine(info); // Meu nome é Olya, tenho 26 anos.
Esse jeito deixa o código muito mais legível e diminui a chance de erro (e de parênteses). Depois a gente fala mais sobre interpolação numa aula só pra isso, mas pra casos simples já pode usar tranquilo.
8. Funções próprias das strings
O tipo string tem funções próprias (também chamadas de métodos). Tem várias, e elas facilitam muito a vida de quem programa. Hoje você vai conhecer algumas (as mais básicas). Exemplo:
| Função | Descrição | Exemplo de resultado |
|---|---|---|
| str.Length | Tamanho da string | "abc".Length → 3 |
| str.ToUpper() | Deixa tudo maiúsculo | "abc".ToUpper() → "ABC" |
| str.ToLower() | Deixa tudo minúsculo | "ABC".ToLower() → "abc" |
| str.Trim() | Tira espaços do começo e do fim | " x y ".Trim() → "x y" |
Exemplos usando funções de string
Todas essas funções são chamadas assim: variavel.funcao(...) .
Descobrir o tamanho da string:
string name = "Andrey";
int length = name.Length;
Console.WriteLine(length); // 6, porque tem 6 letras
Deixar a string em maiúsculo ou minúsculo:
string original = "Privet";
Console.WriteLine(original.ToUpper()); // PRIVET
Console.WriteLine(original.ToLower()); // privet
Tirar espaços do começo e do fim (muito útil quando lê do teclado):
string messy = " hello ";
Console.WriteLine(messy.Trim()); // "hello"
Cada função dessas retorna uma nova string, a string antiga não muda.
GO TO FULL VERSION