可能重复:
Why are C# 3.0 object initializer constructor parentheses optional?
使用
classInstance = new Class() { prop1 = "", prop2 = "" };

classInstance = new Class { prop1 = "", prop2 = "" };

最佳答案

没有什么。第二个只是第一个的捷径。第一个允许您将参数包含到构造函数中。因此,如果类没有空构造函数,就不能使用快捷方式。
你可能对这个问题感兴趣:
Why are C# 3.0 object initializer constructor parentheses optional?
还有埃里克·利珀特的博文:
Ambiguous Optional Parentheses, Part One

09-13 14:20