Pular para o conteúdo principal
Publicado em

Classe Convert em C#

Compartilhar:

Introdução

No desenvolvimento em C#, frequentemente nos deparamos com a necessidade de converter entre diferentes tipos de dados. A classe Convert, integrada ao .NET Framework, facilita esse processo. Vamos explorar essa classe em detalhes.

Métodos da Classe Convert

A classe Convert fornece métodos estáticos para converter tipos de dados base em outros tipos de dados base.

  • ToBoolean: Converte um tipo específico em Boolean.
  • ToChar: Converte um tipo em Char.
  • ToDateTime: Converte um tipo em DateTime.
  • ToInt32, ToDouble, etc.: Converte um tipo em diferentes tipos numéricos.
  • ToString: Converte um tipo em String.

Estes são apenas alguns exemplos, e a classe fornece métodos para quase todas as conversões de tipos que você poderá precisar.

Vantagens e Considerações

Segurança de Tipo

A classe Convert oferece uma maneira mais segura de converter tipos, pois lança exceções específicas se a conversão não for possível, o que ajuda a identificar e resolver problemas.

Performance

Embora os métodos da classe Convert sejam eficientes, a conversão de tipos pode ser custosa em termos de desempenho, especialmente em loops extensos ou operações de alta frequência. É sempre bom estar ciente do impacto de performance ao fazer múltiplas conversões.

Cuidados ao Converter

Embora a classe Convert facilite a conversão de tipos, é crucial entender os tipos de dados com os quais você está trabalhando. Por exemplo, converter uma string que não representa um número válido para um tipo numérico lançará uma exceção.

Exemplo Detalhado

using System;

namespace Base {
  class ClasseConvert {
    private string letra = "N", anoAtual = "2021";
    private char _letra = ' ';
    private int _anoAtual = 0;

    public void Run() {
      try {
        _letra = Convert.ToChar(letra);
        _anoAtual = Convert.ToInt32(anoAtual);
      }
      catch (FormatException e) {
        Console.WriteLine("Erro na conversão: " + e.Message);
      }
      catch (OverflowException e) {
        Console.WriteLine("Valor muito grande ou pequeno para o tipo de destino: " + e.Message);
      }
      finally {
        if (_letra != ' ')
          Console.WriteLine($"Letra: {_letra}");

        if (_anoAtual != 0)
          Console.WriteLine($"Ano atual: {_anoAtual}");
      }
    }
  }
}

/*
  Letra: N
  Ano atual: 2021
*/

Conclusão

A classe Convert em C# é uma ferramenta poderosa e essencial para qualquer desenvolvedor. Ela oferece uma maneira simplificada e segura de converter entre diferentes tipos de dados, garantindo que o código seja robusto e resiliente a erros. Ao entender bem essa classe, pode-se escrever código mais flexível e de fácil manutenção.

Happy coding!