Publicado em

Classe Convert em C#

Partilhar:

Introdução

No desenvolvimento em C#, frequentemente deparamo-nos com a necessidade de converter entre diferentes tipos de dados. A classe Convert, integrada ao .NET Framework, facilita este processo. Vamos explorar esta classe em detalhe.

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 poderá necessitar.

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 se está a trabalhar. 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 demasiado 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 esta classe, pode-se escrever código mais flexível e manutenível.

Happy coding!