c# - definicion - ¿Los tipos de referencia son tipos anulables?
tag c# (6)
De tipos anulables (Guía de programación C #) :
Los tipos anulables son instancias de la estructura System.Nullable.
y
Los tipos anulables representan variables de tipo valor a las que se puede asignar el valor de nulo. No puede crear un tipo anulable basado en un tipo de referencia. (Los tipos de referencia ya admiten el valor nulo).
Entonces, no, no son tipos de referencia.
Cuando declaro un int
como anulable
int? i=null;
¿ i
convierto aquí en un tipo de referencia?
Los tipos anulables no pueden ser tipos de referencia.
Los tipos anulables no son ni tipos de valores ni tipos de referencia. Son más como tipos de valor, pero tienen algunas propiedades de tipos de referencia.
Naturalmente, los tipos que aceptan null
pueden ser null
. Además, un tipo anulable no puede satisfacer una restricción de struct
genérica. Además, cuando HasValue
un tipo anulable con HasValue
igual a false
, obtiene un puntero null
lugar de un tipo anulado en caja (una situación similar existe con unboxing).
Estas propiedades hacen que los tipos nulables sean tipos que no sean de valor, pero tampoco son tipos de referencia. Son su propio tipo especial de valor anulable.
No debería necesitar hacer que un tipo de referencia sea un tipo anulable ya que puede pasar el nulo en su lugar.
No, el tipo Nullable es, de hecho, una estructura. El tiempo de ejecución manejará inteligentemente la configuración de un valor nulo para usted, dando la apariencia de un tipo de referencia, cuando no lo es ...
No, un nulo es una estructura. Lo que está sucediendo es que la estructura anulable tiene dos valores:
- El valor del tipo de datos (
int
paraint?
DateTime
paraDateTime?
Etc.). - Un valor booleano que indica si el valor del tipo de datos se ha establecido. (
HasValue
es la propiedad).
Cuando establece el valor del tipo de datos, la estructura cambia HasValue
a verdadero.