Domanda
domanda stupida ma questa affermazione è priva di valore
int a;
if (a != null)
poiché una var intero viene impostata automaticamente nullo dal compilatore quando definito
per controllare interi controllare sempre se a> = 0 è corretto?
Soluzione
Il compilatore imposta il valore di una variabile primitiva al suo valore di "default" se non si assegna. Il valore predefinito di int è 0. Quindi sì, il confronto si parla in realtà non fa nulla.
Se avete bisogno di un int nullable nel codice si dovrebbe usare il tipo "int?" "Annullabile".
Se l'int è annullabile, allora il confronto si parla potrebbe essere utile.
Altri suggerimenti
int è una classe, non uguale a null
Sì meno che l'intero sembra essere un tipo nullable.
int? myInt = null;
if(myInt == null)
{
Console.WriteLine("myInt was null.");
}
Supponendo dal tag & sintassi questo è C #, hai provato int.TryParse (...) nello scenario particolare? Non proprio sicuro di quello che stai cercando di fare dal codice fornito -. Come Andy detto se l'int è annullabile il controllo di nulla potrebbe essere utile
Un int
è un tipo di valore e non sarà mai null
, a meno che non si dichiara come un intero annullabile:
int? i = null;
if (i == null)
Console.WriteLine("it's null");