E aí pessoal, mais uma matéria bem simples, porém, de suma importância para desenvolvedores .NET FRAMEWORK. O tema abordado é conversão entre tipos, ou seja, tipos de dados em que atribuímos pra uma variável qualquer. Em C#, a conversão implícita não é permitida quando há perda de precisão, pois ocorrerá erro em tempo de compilação.
Abaixo terá um código onde não há perca de precisão, desta forma, será executado normalmente tanto em compilação quanto em tempo de execução. O código exibe uma variável chamada inteiro do tipo int e recebe o valor 1, e outra chamada dobro que é do tipo double recebendo 1.0001. Atribuímos a variável inteiro para a double, aqui, como o tipo double suporta o tipo int, ou seja, não tem espaço maior em bytes, ocorrerá tudo bem.
Para terminar erigimos o conceito agora de boxing e unboxing. É um conceito simples onde boxing é a conversão de tipos de valor para tipos de referência, e unboxing o inverso desse procedimento. Abaixo terá uma ilustração de boxing e unboxing. A primeira conversão passamos de um int para uma tipo object realizando um cast, e a segunda o inverso.
Mais uma vez espero ter ajudado, matéria simples e abordado superficialmente, porém, de grande importância. Vale a pena estudá-la. Fiquem à vontade para comentar e corrigir. Abraços a todos, até a próxima!