Pregunta

pregunta estúpida, pero esta afirmación no tiene ningún valor

int a;

if (a != null)

desde un var número entero se ajusta automáticamente a nula por el compilador cuando se define

para comprobar enteros siempre comprobar si a> 0 = correcto?

¿Fue útil?

Solución

El compilador establece el valor de una variable primitiva a su valor "default" si no se asigna la misma. El valor por defecto de int es 0. Así que sí, la comparación que mencionas no hacer nada.

Si necesita un int anulable en su código que debe utilizar el "anulable" tipo "int?".

Si su int es anulable, entonces la comparación mencionas podría ser útil.

Otros consejos

int es una clase, no es igual a null

Sí a menos que el número entero pasa a ser un tipo anulable.

int? myInt = null;

if(myInt == null)
{
    Console.WriteLine("myInt was null.");
}

Si se asume por su etiqueta y la sintaxis es C #, has int.TryParse (...) en su escenario particular? No es muy seguro de lo que estás tratando de hacer desde el código proporcionado -. Como Andy mencionó si su int es anulable el cheque nulo podría ser útil

Una int es un tipo de valor y nunca será null, a menos que se declara como un entero anulable:

int? i = null;
if (i == null)
    Console.WriteLine("it's null");
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top