Dominando Strings em C#: Boas Práticas e Dicas
Em C#, strings podem ser usadas como array de caracteres, mas a prática comum é usar a palavra-chave string (alias para System.String).
Criando Objetos String
Métodos:
- Atribuindo literal string a variável
String - Usando construtor da classe
String - Operador de concatenação (
+) - Recuperando propriedade ou chamando método que retorna string
- Método de formatação para converter valor/objeto em representação string
Exemplo
using System;
namespace StringApplication
{
class Program
{
static void Main(string[] args)
{
// literal e concatenação
string fname = "Rowan", lname = "Atkinson";
char[] letters = { 'H', 'e', 'l', 'l', 'o' };
string[] sarray = { "Hello", "From", "Tutorials", "Point" };
string fullname = fname + lname;
Console.WriteLine("Nome Completo: {0}", fullname);
// construtor string
string greetings = new string(letters);
Console.WriteLine("Saudação: {0}", greetings);
// método retornando string
string message = String.Join(" ", sarray);
Console.WriteLine("Mensagem: {0}", message);
// formatação
DateTime waiting = new DateTime(2012, 10, 10, 17, 58, 1);
string chat = String.Format("Mensagem enviada às {0:t} em {0:D}", waiting);
Console.WriteLine("Mensagem: {0}", chat);
}
}
}
Saída:
Nome Completo: RowanAtkinson
Saudação: Hello
Mensagem: Hello From Tutorials Point
Mensagem: Mensagem enviada às 5:58 PM em Wednesday, October 10, 2012
Propriedades da Classe String
| Nº | Propriedade |
|---|---|
| 1 | Chars — Obtém objeto Char em posição especificada. |
| 2 | Length — Obtém número de caracteres. |
Métodos da Classe String (Principais)
| Método | Descrição |
|---|---|
Compare | Compara duas strings, retorna posição relativa na ordem. |
Concat | Concatena strings. |
Contains | Verifica se string contém substring. |
Copy | Cria nova String com mesmo valor. |
CopyTo | Copia caracteres para array Unicode. |
EndsWith | Verifica se termina com string especificada. |
Equals | Verifica igualdade de strings. |
Format | Substitui itens de formato por representação string. |
IndexOf | Retorna índice da primeira ocorrência. |
IndexOfAny | Índice da primeira ocorrência de qualquer char em array. |
Insert | Insere string em posição especificada. |
IsNullOrEmpty | Verifica se string é null ou vazia. |
Join | Concatena elementos de array com separador. |
LastIndexOf | Índice da última ocorrência. |
Remove | Remove caracteres a partir de posição. |
Replace | Substitui ocorrências de char/string. |
Split | Divide string em substrings por separadores. |
StartsWith | Verifica se começa com string especificada. |
ToCharArray | Retorna array Unicode com caracteres. |
ToLower | Retorna cópia em minúsculas. |
ToUpper | Retorna cópia em maiúsculas. |
Trim | Remove espaços em branco no início/fim. |
Exemplos Práticos
Comparando Strings
string str1 = "This is test";
string str2 = "This is text";
if (String.Compare(str1, str2) == 0)
Console.WriteLine("Iguais");
else
Console.WriteLine("Diferentes");
Saída: This is test and This is text are not equal.
Verificando Substring (Contains)
string str = "This is test";
if (str.Contains("test"))
Console.WriteLine("Sequência 'test' encontrada.");
Saída: The sequence 'test' was found.
Obtendo Substring
string str = "Last night I dreamt of San Pedro";
string substr = str.Substring(23);
Console.WriteLine(substr); // San Pedro
Juntando Strings (Join)
string[] starray = { "Linha 1", "Linha 2", "Linha 3" };
string str = String.Join("\n", starray);
Console.WriteLine(str);
Linguagem C
- Classes e Objetos em C#: Fundamentos para POO Robusta
- Dominando Strings em C#: Fundamentos, Operações e Técnicas Avançadas
- Dominando Strings em Java: Criação, Métodos e Boas Práticas
- Padrão Singleton em Java Explicado: Como Implementar e Usar com Segurança
- 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
- Domine Operações com Strings em Python: Replace, Join, Split, Reverse e Conversão de Case
- Classe String em Java: Dominando a Criação e Manipulação de Strings
- Serialização de Objetos em Java: Persistindo e Restaurando Objetos