NullReferenceException während der Objektinitialisierung [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Was ist eine NullReferenceException und wie behebe ich sie? 31 answers

Warum gibt es eine NullReferenceException, wenn versucht wird, den Wert von X im folgenden Code festzulegen? Es funktioniert gut, wenn ichnew Schlüsselwort beim Initialisieren vonB, aber warum kompiliert es gut ohnenew und schlägt dann zur Laufzeit fehl?

https: //dotnetfiddle.net/YNvPo

public class A
{
    public _B B;
    public class _B
    {
        public int X;
    }
}

public class Program
{
    public static void Main()
    {
        var a=new A{
                B={
                    X=1
                }
            };
    }
}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage