差異

2015-11-01 60 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 
};