Console.WriteLineが空の行を書き込む(Console.WriteLine(null)コンパイルエラーが発生する)理由、およびNullReferenceExceptionが発生しない(それa+=1を発生させるべきではない)理由を説明してください。
int? a = null;
a++; // Why there is not NullReferenceException?
Console.WriteLine(a); // Empty line
NullReferenceException?しかし、それは価値があるものでint?はありませんReferenceintnull
++、+=および+バリアントを引き上げてきました。したがって文がa++;、a += 1;、およびa = a + 1;すべて許可されています。最初にのnull場合、それぞれが生成します(例外はスローされません)。anull