Com a massificação dos computadores em todas as atividades do dia a dia é normal que nossos programas tenham que apresentar resultados de forma compreensível às pessoas. Normalmente isso é feito através de mensagens escritas, ou seja, seqüências de caracteres encadeados. Popularmente chamadas strings.
Algumas linguagens de programação têm as strings como tipos primitivos, o que não acontece no C#. Nesse caso, String é uma classe.
Você sabe o que é uma classe?
Classe é uma estrutura de dados que contêm informações e/ou executam funções.
Posteriormente, entraremos nos detalhes da dinâmica dos itens que compõem uma classe.
Existem diversas maneiras referenciar a uma string:
Descrevendo seu conteúdo entre aspas duplas (String Literal) ou utilizando o identificador do objeto especificado (referência string).
Exemplo:
String cadeia = new string();
String cadeia2 = "outra string";
String cadeia3 = "mais " + cadeia2;
String cadeia4 = new string("istringui");
Você também pode usar um vetor do tipo char para definir uma string:
Char[] cadeiaChar = new char[10];
cadeiaChar = {'f','r','e','e','s','t','y','l','e','s'};
String cadeia5 = new string(cadeiaChar, 0, 4);
Deste modo a string receberá a partir da posição 0, 4 caracteres do vetor definido acima. O resultado será a string "free".
String cadeia6 = new string('X', 6);
Deste modo a string receberá o caractere X 6 vezes. O resultado será uma string assim: "XXXXXX"
Uma vez criado a string, este (e qualquer outro, na verdade) objeto dispõe de várias propriedades e funcionalidades (também chamadas Métodos) que auxiliam no uso e manipulação do mesmo.
O uso dos métodos faz-se através da fórmula: nomedastring.metodo(argumento(s)).
Essa formula vem de um padrão de nomenclatura chamado notação em pontos. Nem todo método necessita de argumentos, nesse caso os parênteses aparecem vazios. Para usar as propriedades a sintaxe é string.propriedade.
Exemplo:
cadeia5.Length;
Essa propriedade informa o tamanho (a quantidade de caracteres) da string cadeia5. No exemplo, cadeia5.Length é igual a 5.
Outros métodos bastante usados da classe string:
Equals(string) (lê-se Íquous) | Compara as strings quanto ao conteúdo e retorna True caso sejam idênticas, ou False caso contrário. |
CompareTo(string) (lê-se compérr chu) | Compara as strings quanto ao conteúdo e retorna 1 caso a string comparada seja "menor", -1 caso essa string seja "maior" e 0 caso as strings sejam idênticas. |
StartsWith(string) | Retorna True caso a string inicia com a string especificada nos parênteses, False caso contrário. |
EndsWith(string) | Retorna True caso a string termina com a string especificada nos parênteses, False caso contrário. |
IndexOf(char ou string, [int], [int]) | Retorna o Índice da primeira ocorrência da string indicada no primeiro parâmetro, a partir da posição indicada pelo segundo argumento, o terceiro argumento indica quantas posições pesquisar após o inicio da pesquisa. Caso não haja ocorrência, retorna o valor -1. |
IndexOfAny(char[] ou string[], [int], [int]) | Retorna o Índice da primeira ocorrência de qualquer um dos elementos do vetor dado, a partir da posição [da string] indicada pelo segundo argumento, o terceiro argumento indica quantas posições pesquisar após o inicio da pesquisa. Caso não haja ocorrência, retorna o valor -1. |
LastIndexOf(char ou String,[int] ,[int]) | Retorna o Índice da última ocorrência da string indicada no primeiro parâmetro, a partir da posição indicada pelo segundo argumento, o terceiro argumento indica quantas posições pesquisar após o inicio da pesquisa. Caso não haja ocorrência, retorna o valor -1. |
LastIndexOfAny(char[] ou string[], [int],[int]) | Retorna o Índice da última ocorrência de qualquer um dos elementos do vetor dado, a partir da posição [da string] indicada pelo segundo argumento, o terceiro argumento indica quantas posições pesquisar após o inicio da pesquisa. Caso não haja ocorrência, retorna o valor -1. |
Substring(int, [int]) (lê-se sâb string) | Retorna uma nova string resultante da leitura da string a partir do índice indicado no primeiro argumento, como número de caracteres indicado no segundo argumento. Caso não seja especificado, a substing seguirá até o fim da string original. |
Concat(string, string) | Une duas strings distintas gerando uma terceira. Não modifica as strings envolvidas. |
ToLower () (lê-se chu láuer) | Passa os caracteres alfabéticos para a Caixa baixa. |
ToUpper() (lê-se chu Ãpâr) | Passa os caracteres alfabéticos para a Caixa alta. |
Replace(char, char) (lê-se rripleice) | Substitui caracteres entro da string. |
Trim() | Remove espaços brancos no início e no final de uma string |
ToString() | Retorna o conteúdo da string. |
É bom lembrar que no caso dos métodos LastIndexOf e LastIndexOfAny usando 3 argumentos, o valor que representa início da pesquisa deve ser maior que o número que determinará o fim, tendo em vista que as pesquisas são iniciadas do fim para o começo da string.
Há muito mais sobre strings para se discutir, no próximo post continuaremos agora acerca da classe StringBuilder.