Boxing e Unboxing

06/01/2016

Confesso que estou com dificuldades em entender até conceitualmente o Boxing e Unboxing, afinal, é encapsulamento ou conversão ou os dois ao mesmo tempo?

Johnny Lucas

Melhor resposta

07/01/2016

A conversão de um valor de tipo primitivo numérico para um valor de tipo não primitivo numérico
é realizada através de um processo chamado boxing.

A conversão de um valor de tipo não primitivo numérico para um valor de tipo primitivo numérico
é realizada através de um processo chamado unboxing.

Os processos de boxing e unboxing, quando necessários, são realizados de forma automática.
Daí surge o termo autoboxing.

Edson Rodrigo

Currículo
Responder Citar

Outras Respostas

06/01/2016

Aluisio Cavalcante

coloca algum exemplo de código.
Responder Citar

06/01/2016

Johnny Lucas


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Boxing
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = 10;
            object o = (object)a;
            //System.Object

            Console.WriteLine(o.GetType().ToString());

            int b = (int)o;

            System.Type t = b.GetType();
            
            //( (int)o );

            Console.WriteLine();

            Console.WriteLine(b);

            Console.ReadKey();
        }
    }
}


Responder Citar

06/01/2016

Emilio Neto

Melhor do que explicar, que eu não sei bem explicar, hehehe, te passar esses links:

[url]https://msdn.microsoft.com/pt-br/library/yz2be5wk.aspx[/url]

[url]http://www.devmedia.com.br/boxing-e-unboxing-em-net/6962[/url]
Responder Citar

07/01/2016

Johnny Lucas

Olá Emilio, obrigado pelos links. Vou conferi-los.
Responder Citar

07/01/2016

Emilio Neto

Alguns conceito vai entender mesmo apenas com leitura, se caso seja algo mais especifico pode perguntar.
Responder Citar

07/01/2016

Edson Rodrigo Currículo

Exemplo:
Na primeira atribuição, o valor literal 1, que é do int, é automaticamente convertido para o tipo Integer. O inverso ocorre na segunda atribuição,
quando o valor armazenado na variável x é automaticamente convertido do tipo Integer para o valor correspondente do tipo int.
Meu exemplo foi em java mas creio que os conceito segue a mesma base..

Integer x = 1; // boxing automático
2
3 int y = x; // unboxing automático

Responder Citar

07/01/2016

Johnny Lucas

Desconheço autoboxing, feito automaticamente pela linguagem? Isso é exclusividade do C#?
Responder Citar

07/01/2016

Edson Rodrigo Currículo

No c# nao tem autoboxing..

Desconsidere o terceiro paragrafo..
Responder Citar

07/01/2016

Johnny Lucas

Tudo bem Edson, mas só tem no C# ou no Java tambem?
Responder Citar

07/01/2016

Edson Rodrigo Currículo

No caso boxing e Unboxing existe nas duas linguagens.

Porem o AutoBoxing existe na linguagem Java. Entendeu ?
Responder Citar

07/01/2016

Johnny Lucas

Perfeito, entendi Edson!
Responder Citar

07/01/2016

Emilio Neto

Gostei da explicação Edson!
Responder Citar

07/01/2016

Pedro Oliveira

Boa aula, mas em inglês.

[url]https://www.youtube.com/watch?v=MzczkEx90b4[/url]
Responder Citar