Typ zerowalny GetType () zgłasza wyjątek

Właśnie dostałem ten quiz od kolegi, który doprowadza mnie do szału. Dla tego fragmentu kodu:

var x = new Int32?();
string text = x.ToString(); // No exception
Console.WriteLine(text);
Type type = x.GetType(); // Bang!

Dlaczego pierwsza część .ToString () działa bez rzucania wyjątku, a następnie wywołanie GetType () zgłasza wyjątek NullReferenceException?

questionAnswers(1)

yourAnswerToTheQuestion