2010-06-30 4 views

Respuesta

11

Esa página se refiere a cuando encapsula la estructura Nullable<T>, no los valores dentro de la propia estructura.

No hay boxeo involucrados en el almacenamiento de un tipo anulable hasta que se intenta boxeo del anulable sí:

int? a = 42; // no boxing 
int? n = null; // no boxing 

object nObj = n; // no boxing 
object aObj = a; // only now will boxing occur 

Este comportamiento no es diferente que cuando el boxeo un tipo de valor normal (con la excepción de que lleva el caso nulo) así que es realmente de esperar.

2

No es el caso. Nullable<T> es genérico, por lo que contiene el real int o bool.

La página de MSDN está hablando de lo que sucede cuando encasillas un Nullable<int> o Nullable<bool>. Si nunca asigna su estructura anulable a una variable object, no incurrirá en gastos generales de boxeo.

2

No. El objeto Nullable es una estructura genérica, e internamente maneja el valor de T sin boxeo.