【发布时间】:2020-12-01 15:10:04
【问题描述】:
我是一名新的 C# 开发人员。
我有一个班级员工
声明带有和不带有“()”的对象时有区别吗? Visual Studio 不标记错误 .例如
Employee newEmployee = new Employee() { FirstName = "David", LastName = "HasselHoff", Email_ID ="dh@fdh.com" };
或
Employee newEmployee = new Employee { FirstName = "David", LastName = "HasselHoff", Email_ID ="dh@fdh.com" };
【问题讨论】:
-
不,没有区别。不是错误,所以VS不会将其标记为一个。
-
除了可读性之外没有区别。我发现第一个变体更具可读性,因为它提醒我们正在调用无参数构造函数。
-
注意微软appears to favor omitting the parentheses如果无参数构造函数被调用(你可以“混合和匹配”参数化构造函数和对象初始化)。
-
new Employee()new Employee {}和new Employee() {}都是等价的。