quarta-feira, 23 de setembro de 2009

Programando em C#: Cadeia de Caracteres – a classe String

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.


 

 

Nenhum comentário: