terça-feira, 25 de fevereiro de 2014

Boxing e Unboxing em C# CSharp



Boxing e Unboxing em C# CSharp

O C#, como uma linguagem fortemente tipada, nos remete muitas vezes a precisarmos fazer conversões entre tipos de dados diferentes, o que chamamos de CAST. Chamamos de Boxing quando convertemos um tipos de dados "Value Type" para um "Reference Type". No caso do Unboxing, é exatamente ao contrário, ou seja, convertemos um tipo de dados "Reference Type" para um "Value Type".

            //Exemplo de Boxing:
            int inteiro = 9966;
            object objeto = (object)inteiro;

            //Exemplo de Unboxing:
            object objeto = 9966;
            int inteiro = (int)objeto;

A prática de Boxing e Unboxing vem acompanhada de uma sobrecarga muito grande, portanto, deve ser evitada sempre que possível utilizando sempre os tipos específicos dos dados que deseja armazenar, sempre que tiver uma variação do tipo de dado a ser armazenado, uma boa prática é utilizar generics evitando qualquer tipo de conversão.

Nenhum comentário:

Postar um comentário