DÊVIDA COM CASTING
Boa tarde a todos!!
Estou com uma grande dúvida nos termos utilizados em conversão de tipos. O Boxing ele ocorre quando eu converto de um Tipo-Valor para um Tipo-Referência e Unboxing quando eu faço a conversão de um Tipo-Referência para um Tipo-Valor?
Sempre encontro essa dificuldade nesses termos Boxing e Unboxing.
Grata!
Estou com uma grande dúvida nos termos utilizados em conversão de tipos. O Boxing ele ocorre quando eu converto de um Tipo-Valor para um Tipo-Referência e Unboxing quando eu faço a conversão de um Tipo-Referência para um Tipo-Valor?
Sempre encontro essa dificuldade nesses termos Boxing e Unboxing.
Grata!
Eu estava estudando esses dias isso rsrsrs, segue o meu exemplo
Más é isso mesmo que vc falou, aqui criei um objeto para guardar o valor e depois recuperei ele
// Boxing -> é quando um objeto guarda as informações de uma variável
// o object pode receber qqer tipo de informação de uma variavel
//exemplo, aqui o Objeto O esta recebendo a informação da variável A
int a = 10;
object o = (object)a;
//exibindo o tipo da variável O que foi guardada
Console.WriteLine(o.GetType().ToString());
E agora para retornar o valor
Cria uma oura variável
int b = (int)o;
ou
((int)o).ToString();
As duas formas recupera o valor do objeto, com a diferença que na segunda expressão não é criada uma variável somente para conseguir esse valor
//conceito de boxing e unboxing
//Serve para guarda valor dentro de um tipo genérico, qqer coisa pode ser guardada dentro de um objeto
Espero ter te ajudado
Más é isso mesmo que vc falou, aqui criei um objeto para guardar o valor e depois recuperei ele
// Boxing -> é quando um objeto guarda as informações de uma variável
// o object pode receber qqer tipo de informação de uma variavel
//exemplo, aqui o Objeto O esta recebendo a informação da variável A
int a = 10;
object o = (object)a;
//exibindo o tipo da variável O que foi guardada
Console.WriteLine(o.GetType().ToString());
E agora para retornar o valor
Cria uma oura variável
int b = (int)o;
ou
((int)o).ToString();
As duas formas recupera o valor do objeto, com a diferença que na segunda expressão não é criada uma variável somente para conseguir esse valor
//conceito de boxing e unboxing
//Serve para guarda valor dentro de um tipo genérico, qqer coisa pode ser guardada dentro de um objeto
Espero ter te ajudado
Oi Ãlvaro, seguindo o exemplo da primeira linha:
// Boxing -> é quando um objeto guarda as informações de uma variável
Um objeto não é tipo-referência e uma variável(tipo primitivo) Tipo-Valor? Nesse caso não seria Unboxing?
// Boxing -> é quando um objeto guarda as informações de uma variável
Um objeto não é tipo-referência e uma variável(tipo primitivo) Tipo-Valor? Nesse caso não seria Unboxing?
Boxing basicamente é a conversão(casting) de um tipo valor para um tipo objeto:
Unboxing é o processo inverso, de objeto de volta para tipo valor, seja primitivo ou qualquer outro tipo, incluindo qualquer classe ou interface:
int xxx = 10;
object boxed = xxx;
Unboxing é o processo inverso, de objeto de volta para tipo valor, seja primitivo ou qualquer outro tipo, incluindo qualquer classe ou interface:
//boxing
int xxx = 10;
object boxed = xxx;
//unbox
int fora = (int)boxed;
Kelly no meu exemplo esqueci de colocar onde se encaixava o unboxed, que seroa no retorno do valor que o objeto ganhou, más o nosso amigo Kerplunk colocou
No meu exemplo o unboxing iria aqui
E agora para retornar o valor
Cria uma oura variável
int b = (int)o;
ou
((int)o).ToString();
No meu exemplo o unboxing iria aqui
E agora para retornar o valor
Cria uma oura variável
int b = (int)o;
ou
((int)o).ToString();
Obrigada a todos pela ajuda!!
Tópico encerrado , respostas não são mais permitidas