Dominando Strings em C#: Fundamentos, Operações e Técnicas Avançadas
Dominando Strings em C#: Fundamentos, Operações e Técnicas Avançadas
Neste tutorial, aprenderemos sobre string em C# e seus métodos com a ajuda de exemplos.
Em C#, uma string é uma sequência de caracteres. Por exemplo, "olá" é uma string contendo uma sequência de caracteres 'o', 'l', 'á', 'l' e 'a'.
Usamos a palavra-chave string para criar uma string. Por exemplo,
// cria uma string string str = "Programação C#";
Aqui, criamos uma string chamada str e atribuímos o texto "Programação C#". Usamos aspas duplas para representar strings em C#.
Exemplo: Criar string em C#
using System; namespace CsharpString { class Teste { public static void Main(string[] args) { // cria string string str1 = "Programação C#"; string str2 = "Programiz"; // imprime string Console.WriteLine(str1); Console.WriteLine(str2); Console.ReadLine(); } } }
Saída
Programação C# Programiz
No exemplo acima, criamos duas strings chamadas str1 e str2 e as imprimimos.
Nota: Uma variável string em C# não é de tipos primitivos como int, char, etc. Em vez disso, é um objeto da classe String.
Operações com Strings
String em C# fornece vários métodos para realizar diferentes operações em strings. Veremos algumas das operações de string mais usadas.
1. Obter o Comprimento de uma string
Para encontrar o comprimento de uma string, usamos a propriedade Length. Por exemplo,
using System; namespace CsharpString { class Teste { public static void Main(string[] args) { // cria string string str = "Programação C#"; Console.WriteLine("string: " + str); // obtém comprimento de str int comprimento = str.Length; Console.WriteLine("Comprimento: " + comprimento); Console.ReadLine(); } } }
Saída
string: Programação C# Comprimento: 14
No exemplo acima, a propriedade Length calcula o número total de caracteres na string e o retorna.
2. Juntar duas strings em C#
Podemos juntar duas strings em C# usando o método Concat(). Por exemplo,
using System; namespace CsharpString { class Teste { public static void Main(string[] args) { // cria string string str1 = "C# "; Console.WriteLine("string str1: " + str1); // cria string string str2 = "Programação"; Console.WriteLine("string str2: " + str2); // junta duas strings string stringJunta = string.Concat(str1, str2); Console.WriteLine("String junta: " + stringJunta); Console.ReadLine(); } } }
Saída
string str1: C# string str2: Programação String junta: C# Programação
No exemplo acima, criamos duas strings chamadas str1 e str2. Observe a instrução,
string stringJunta = string.Concat(str1, str2);
Aqui, o método Concat() junta str1 e str2 e atribui à variável stringJunta.
Também podemos juntar duas strings usando o operador + em C#. Para saber mais, visite C# string Concat.
3. Comparar duas strings em C#
Em C#, podemos fazer comparações entre duas strings usando o método Equals(). O método Equals() verifica se duas strings são iguais ou não. Por exemplo,
using System; namespace CsharpString { class Teste { public static void Main(string[] args) { // cria string string str1 = "Programação C#"; string str2 = "Programação C#"; string str3 = "Programiz"; // compara str1 e str2 Boolean resultado1 = str1.Equals(str2); Console.WriteLine("string str1 e str2 são iguais: " + resultado1); // compara str1 e str3 Boolean resultado2 = str1.Equals(str3); Console.WriteLine("string str1 e str3 são iguais: " + resultado2); Console.ReadLine(); } } }
Saída
string str1 e str2 são iguais: True string str1 e str3 são iguais: False
No exemplo acima, criamos 3 strings chamadas str1, str2 e str3. Aqui, usamos o método Equals() para verificar se uma string é igual a outra.
Imutabilidade de Objetos String
Em C#, strings são imutáveis. Isso significa que, uma vez criamos uma string, não podemos alterar aquela string.
Para entender, considere um exemplo:
// cria string string str = "Olá ";
Aqui, criamos uma variável string chamada str. A variável contém a string "Olá ".
Agora suponha que queremos alterar a string str.
// adiciona outra string "Mundo" // à string anterior exemplo str = string.Concat(str, "Mundo");
Aqui, estamos usando o método Concat() para adicionar a string "Mundo" à string anterior str.
Mas como conseguimos modificar a string se elas são imutáveis?
Vamos ver o que aconteceu aqui:
- C# pega o valor da string
"Olá ". - Cria uma nova string adicionando
"Mundo"à string"Olá ". - Cria um novo objeto string, dá a ele o valor
"Olá Mundo"e armazena em str. - A string original,
"Olá ", que foi atribuída a str é liberada para coleta de lixo porque nenhuma outra variável mantém referência a ela.
Sequências de Escape em Strings
O caractere de escape é usado para escapar alguns dos caracteres presentes dentro de uma string. Em outras palavras, usamos sequências de escape para inserir caracteres especiais dentro da string.
Suponha que precisamos incluir aspas duplas dentro de uma string.
// incluir aspas duplas string str = "Esta é a classe \"String\"";
Como strings são representadas por aspas duplas, o compilador tratará "Esta é a " como a string. E o código acima causará erro.
Para resolver isso, usamos o caractere de escape \" em C#. Por exemplo,
// usa o caractere de escape string str = "Esta é a \"String\" classe.";
Agora, usando \ antes de aspas duplas ", podemos incluí-la na string.
Algumas das sequências de escape em C# são:
| Sequência de Escape | Nome do Caractere |
|---|---|
\' | aspas simples |
\" | aspas duplas |
\\ | barra invertida |
\0 | nulo |
\n | nova linha |
\t | tab horizontal |
Interpolação de Strings
Em C#, podemos usar interpolação de strings para inserir variáveis dentro de uma string. Para interpolação, o literal da string deve começar com o caractere $. Por exemplo,
using System; namespace CsharpString { class Teste { public static void Main(string[] args) { // cria string string nome = "Programiz"; // interpolação de string string mensagem = $"Bem-vindo ao {nome}"; Console.WriteLine(mensagem); Console.ReadLine(); } } }
Saída
Bem-vindo ao Programiz
No exemplo acima, estamos usando a variável nome dentro da string mensagem.
string mensagem = $"Bem-vindo ao {nome}";
Observe que:
- o literal da string começa com
$ - a variável nome é colocada dentro das chaves
{}
Métodos da String em C#
Existem vários métodos de string em C#. Alguns deles são:
| Métodos | Descrição |
|---|---|
Format() | retorna uma string formatada |
Split() | divide a string em substrings |
Substring() | retorna substring de uma string |
Compare() | compara objetos string |
Replace() | substitui o caractere antigo especificado pelo novo caractere especificado |
Contains() | verifica se a string contém uma substring |
Join() | junta as strings dadas usando o separador especificado |
Trim() | remove espaços em branco no início e fim |
EndsWith() | verifica se a string termina com a string dada |
IndexOf() | retorna a posição do caractere especificado na string |
Remove() | retorna caracteres de uma string |
ToUpper() | converte a string para maiúsculas |
ToLower() | converte a string para minúsculas |
PadLeft() | retorna string preenchida com espaços ou caractere Unicode especificado à esquerda |
PadRight() | retorna string preenchida com espaços ou caractere Unicode especificado à direita |
StartsWith() | verifica se a string começa com a string dada |
ToCharArray() | converte a string para um array char |
LastIndexOf() | retorna índice da última ocorrência de uma string especificada |
Perguntas Frequentes
1. Como criar um array de strings em C#?
Um array de strings é criado da mesma forma que um array para tipos de dados. Por exemplo,
using System; namespace CsharpString { class Teste { public static void Main(string[] args) { // array do tipo string string[] animais = {"Macaco", "Cachorro", "Gato"}; // imprime elementos do array Console.WriteLine(animais[0]); Console.WriteLine(animais[1]); Console.WriteLine(animais[2]); Console.ReadLine(); } } }
Saída
Macaco Cachorro Gato
2. Diferença entre string e String em C#
Não há diferença técnica entre string e String. Em C#, string é um alias para System.String.
Recomenda-se usar string pois funciona mesmo sem using System;.
Linguagem C
- Dominando Strings em Java: Criação, Métodos e Boas Práticas
- Dominando Representações String em Enums Java
- Dominando Funções de String em C++: strcpy, strcat, strlen, strcmp – Exemplos Práticos
- Strings em C Facilitadas: Declaração, Entrada, Saída e Funções da Biblioteca
- Entendendo Java String.charAt(): Sintaxe, Tipo de Retorno, Exceções e Exemplo Prático
- Dominando Java String.endsWith(): Como Verificar Sufixos de String com Exemplos
- Dominando o Método strip() do Python: Guia Completo e Exemplos Práticos
- Domine o str.count() do Python: Como Contar Caracteres e Substrings com Exemplos
- Domine Strings format() em Python com Exemplos Claros
- Python len(): Guia Prático para Medir Comprimento de Objetos