Pourriez-vous s'il vous plaît expliquer, pourquoi Console.WriteLine écrit-il une ligne vide ( Console.WriteLine(null)
me donne une erreur de compilation) et pourquoi il n'y a pas NullReferenceException (même a+=1
ne devrait pas le lever)?
int? a = null;
a++; // Why there is not NullReferenceException?
Console.WriteLine(a); // Empty line
NullReferenceException
? mais ce int?
n'est pas un Reference
, c'est juste un int
qui peut prendre de la null
valeur
++
,+=
et+
ont soulevé des variantes. Par conséquent, les déclarationsa++;
,a += 1;
eta = a + 1;
sont toutes autorisées. Chaque produitnull
(aucune exception lancée)a
est initialementnull
.