En C #, ¿cuál es el valor predeterminado de una variable de instancia de clase de tipo int?
?
Por ejemplo, en el siguiente código, ¿qué valor tendrá MyNullableInt
si nunca se asigna explícitamente?
class MyClass
{
public int? MyNullableInt;
}
(Parece probable que la respuesta sea casi con certeza null
o 0
, pero ¿cuál de ellos es?)
9
¿Por qué el voto negativo? (La respuesta a esta pregunta no fue inicialmente obvia para mí sin realmente ejecutar el código para probar el comportamiento; y sorprendentemente, no pude encontrar un duplicado de esta pregunta en StackOverflow, o fácilmente encontrable en otro lugar a través de Google)
—
Jon Schneider
Podrías haber mirado aquí : el primer resultado de Google para mí.
—
500 - Error interno del servidor
@ 500: encontré ese artículo cuando estaba investigando; de hecho, lo vinculé en mi propia respuesta a continuación, pero por lo que puedo decir, el artículo no indica explícitamente que el valor predeterminado de una instancia de tipo anulable es nulo. Que no dicen "El valor predeterminado para HasValue es falso. El valor de la propiedad no tiene valor por defecto", pero eso no responde directamente a mi pregunta original sin algo de investigación adicional.
—
Jon Schneider
Me pregunto si fue porque simplemente pudo establecer un punto de interrupción y ver cuál es el valor, o en el tipo de Ventana Inmediato
—
Rufus L
int? x;
y ver cuál es el resultado.