Red de conocimientos turísticos - Información de alquiler - ¿Qué es el boxeo y el unboxing? ¿Por qué necesitas empaquetar y desempaquetar? ¿Cuál es la naturaleza del boxeo y el unboxing?

¿Qué es el boxeo y el unboxing? ¿Por qué necesitas empaquetar y desempaquetar? ¿Cuál es la naturaleza del boxeo y el unboxing?

Boxing convierte un tipo de valor en un tipo de referencia de objeto, mientras que unboxing convierte un tipo de referencia encuadrado a su tipo de valor original.

El boxeo y el unboxing hacen que los tipos de valores se traten como objetos.

Encuadrar un tipo de valor empaqueta el tipo de valor en una instancia del tipo de referencia de objeto.

Esto permite que los tipos de valores se almacenen en el montón de basura recolectada.

El unboxing extraerá el tipo de valor del objeto.

Crating es una conversión implícita de un tipo de valor a un tipo de objeto o a cualquier tipo de interfaz que implemente el tipo de valor.

La calificación de un tipo de valor asigna una instancia de objeto en el montón y copia el valor en el nuevo objeto.

Unboxing es una conversión explícita de un tipo de objeto a un tipo de valor o de un tipo de interfaz a un tipo de valor que implementa esa interfaz.

Las operaciones de unboxing incluyen:

Verificar una instancia de objeto para asegurarse de que sea un valor sin box para un tipo de valor determinado.

Copie el valor de la instancia en una variable de tipo valor.

Para desempacar exitosamente un tipo de valor en tiempo de ejecución,

el elemento que se está desempaquetando debe ser una referencia a un objeto que se creó previamente encuadrando una instancia de este tipo de valor.

Intentar desempaquetar una referencia a un valor nulo o un tipo de valor incompatible dará como resultado una excepción InvalidCastException.

Boxing y unboxing sirven para simplificar el paradigma de programación, y cualquier objeto debería poder asignarse a un objeto.

No hay problema en asignar tipos de referencia a objetos, ¡porque todos los objetos son tipos de referencia!

Pero asignar tipos de valor a objetos es problemático, porque los tipos de valor no tienen referencias,

y para establecer referencias, se requiere boxeo.