De acuerdo con la documentación del as
operator, as
"se utiliza para realizar ciertos tipos de conversiones entre tipos de referencia compatibles". Desde Nullable is actually a value type, esperaría que as
no funcione con él. Sin embargo, este código se compila y ejecuta:¿Por qué se puede usar el operador as con Nullable <T>?
object o = 7;
int i = o as int? ?? -1;
Console.WriteLine(i); // output: 7
¿Este comportamiento es correcto? ¿La documentación de as
es incorrecta? ¿Me estoy perdiendo de algo?
Anulable es un tipo de valor, he corregido el texto. –
@Matthew: Gracias. Eso fue un error bastante confuso. – recursive
Gran discusión sobre AS/IS y Nullables - http://stackoverflow.com/questions/1583050/performance-surprise-with-as-and-nullable-types – sll