CodeGym /Cursos /C# SELF /Strings e texto: tipo string, trabalhando com strings

Strings e texto: tipo string, trabalhando com strings

C# SELF
Nível 2, Lição 2
Disponível

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;
Criando uma variável do tipo string

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;
Criando variáveis do tipo string

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";
Atribuindo valor à variável do tipo string

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";
Criando variáveis do tipo string

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"
Concatenação de duas strings

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:

" "
String que contém um espaço

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":

""
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.

2
Tarefa
C# SELF, nível 2, lição 2
Bloqueado
Criação e inicialização de variáveis do tipo string
Criação e inicialização de variáveis do tipo string
2
Tarefa
C# SELF, nível 2, lição 2
Bloqueado
Trabalhando com strings e interpolação
Trabalhando com strings e interpolação
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION