Warum sind Konstruktorklammern für C # 3.0-Objektinitialisierer optional?

Es scheint, dass die C # 3.0-Objektinitialisierungssyntax das Öffnen / Schließen-Klammerpaar im Konstruktor ausschließt, wenn ein parameterloser Konstruktor vorhanden ist. Beispiel

var x = new XTypeName { PropA = value, PropB = value };

Im Gegensatz zu

var x = new XTypeName() { PropA = value, PropB = value };

Ich bin gespannt, warum das Konstruktorpaar "Klammern öffnen / schließen" hier nach @ optional isXTypeName?

Antworten auf die Frage(10)

Ihre Antwort auf die Frage