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?

È stato utile?

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");
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top