c#

¿Cómo funcionan los tipos de nullable en C#?



(3)

¿Cuál es la diferencia entre bastidores entre ''int''? y ''int''? Es ''int'' de alguna manera un tipo de referencia?



Además de "int" Al ser un atajo para "Nullable", también había infraestructura puesta en el CLR para convertir implícita y silenciosamente entre "int". y "int". Esto también significa que cualquier operación de boxeo incluirá implícitamente el valor real (es decir, es imposible incluir Nullable como Nullable, siempre da como resultado el valor encerrado de T o un objeto nulo).

Me encontré con muchos de estos problemas al intentar crear Nullable cuando no se conoce T en el momento de la compilación (solo se sabe en tiempo de ejecución). http://bradwilson.typepad.com/blog/2008/07/creating-nullab.html


Para una de las mejores discusiones "tras bambalinas" sobre los tipos Nullable, debería mirar CLR Via C # por Jeffrey Richter.

Todo el Capítulo 18 está dedicado a discutir en detalle los tipos Nullable. Este libro también es excelente para muchas otras áreas de .NET CLR internal.