Sobes.tech
Junior — Middle

Explique o que significa o processo de Unboxing na programação e para que serve.

sobes.tech IA

Resposta da IA

Unboxing em programação é o processo de extrair o valor de um objeto embrulho (boxed object) de volta ao seu tipo de valor original. Em C#, isso é relevante quando um valor de tipo valor (por exemplo, int) é empacotado em um objeto do tipo object (boxing), e depois é extraído desse objeto (unboxing).

Para que serve:

  • Permite trabalhar com tipos de valor como se fossem objetos, por exemplo, armazenando-os em coleções que aceitam objetos.
  • O unboxing devolve o valor original para uso posterior como tipo de valor.

Exemplo:

int x = 123;          // tipo de valor
object obj = x;       // boxing
int y = (int)obj;     // unboxing

É importante que o tipo seja explicitamente especificado no unboxing, e se o tipo não corresponder, uma exceção será lançada.