在c#上隐式初始化对象和显式初始化对象之间的区别
本文关键字:对象 初始化 之间 区别 | 更新日期: 2023-09-27 18:20:01
此语法隐式调用默认构造函数
Order order3 = new Order
{
OrderID = 124,
CustomerName = "leo",
OrderAmount= 395.00M
};
此语法EXPLICITLY调用默认构造函数
Order order3 = new Order()
{
OrderID = 124,
CustomerName = "leo",
OrderAmount= 395.00M
};
它执行相同的逻辑,只是使用默认构造函数创建obj。使用显式语法的唯一优点是可以使用不同的签名调用构造函数。
例如:
Order order3 = new Order("GUID") {
OrderID = 124,
CustomerName = "leo",
OrderAmount= 395.00M
};
我还没有测试过,但我猜显式版本允许您使用不同的构造函数签名;例如,传入一个连接字符串。
没有区别。代码的两部分都编译为:
Order order = new Order();
order.OrderID = 124;
order.CustomerName = "leo";
// etc.