quarta-feira, 6 de abril de 2011

Inverter texto em C#

Saudações, pessoal!

Para os desenvolvedores que conhecem a linguagem VB6 (ou VB.NET), devem lembrar da função StrReverse que é responsável por inverter uma string com apenas uma linha de código. Pois bem, em C#, vamos escrever um método que faça exatamente a mesma coisa. A idéia é extremamente simples, e vamos utilizar uma aplicação do tipo Windows Forms Application para demonstrar.

Crie um novo projeto no Visual Studio (File > New > Project) do tipo Windows Forms Application em linguagem C#. Por padrão, o VS cria um formulário (de nome Form1) automaticamente no projeto. 

Adicione dois controles TextBox e um Button no Form1 (e altere a propriedade Text do Button conforme a imagem).



Pressione a tecla de atalho F7 para termos acesso ao View Code do Form. Escreva o método abaixo no escopo do formulário.

private void StrReverse(ref string valor)
{
    Array letras = valor.ToArray();
    Array.Reverse(letras);
    valor = string.Empty;
    foreach (char letra in letras)
        valor += letra.ToString();
}

Basicamente, o método recebe uma string como argumento, e converte para o texto em um vetor (Array letras...). Em seguida, utilizamos o método Reverse, que é o protagonista da história, responsável por ordenar o texto de “trás para a frente”. Por fim, montamos a string novamente, só que de forma invertida.
Para concluir o exemplo, dê um duplo clique no botão e escreva a chamada da função StrReverse.

private void button1_Click(object sender, EventArgs e)
{
    string texto = textBox1.Text.Trim();
    this.StrReverse(ref texto);
    textBox2.Text = texto;
}

Rode a aplicação (pressione a tecla de atalho F5), digite um texto qualquer na caixa de texto de cima e clique no botão. O resultado é representado na imagem a seguir.



Até a próxima!

Nenhum comentário:

Postar um comentário

Deixe aqui seu comentário