No solo no requiere unboxing, lógicamente, no puede.
El desempaquetado puede tener éxito o fallar, dependiendo de si el objeto realmente contiene un valor del tipo que vamos a intentar desempaquetar.
Por lo tanto, unboxing requiere una verificación de si el objeto es de ese tipo en particular.
Por lo tanto, si la prueba del tipo requerido unboxing, a continuación, ya que requiere la prueba unboxing del tipo, tendríamos no ser capaz de desempacar hasta que nos gustaría primero sacó de la caja ...
Por lo tanto la prueba de un tipo pueden no requiere unboxing.
¿Entonces el CLR puede verificar un tipo sin unboxing? –
@ViacheslavSmityukh: Sí. No olvide que realmente hay un objeto involucrado, con un tipo. Verificar ese tipo es básicamente la misma operación independientemente de si el valor es un valor de tipo de valor encuadrado o no. –
@JonSkeet ¿Podría editar ese comentario en la respuesta, creo que explica por qué * *, en lugar de la prueba sólo a través de IL es particularmente valioso. – Servy