差异

2015-11-01 61 views
0

这种语法隐式调用默认的构造函数差异

Order order3 = new Order 
{ 
    OrderID = 124, 
    CustomerName = "leo", 
    OrderAmount= 395.00M 
}; 

这句法明确要求默认的构造函数

Order order3 = new Order() 
{ 
    OrderID = 124, 
    CustomerName = "leo", 
    OrderAmount= 395.00M 
}; 
+1

第一语法可以节省两次击键。 – dasblinkenlight

回答

0

我没有测试此,但我猜测,明确的版本允许你有不同的构造函数签名;例如传入连接字符串。

0

没有区别。 代码的两个部分被编译为:

Order order = new Order(); 
order.OrderID = 124; 
order.CustomerName = "leo"; 
// etc. 
1

它做同样的逻辑,只是默认构造函数创建OBJ。 使用显式语法的唯一好处是您可以使用不同的签名调用构造函数。

例如:

Order order3 = new Order("GUID") { 
    OrderID = 124, 
    CustomerName = "leo", 
    OrderAmount= 395.00M 
};