将名称分配给自治类型有哪些优点/缺点?在下面的示例中...
var cust = new Customer { Name = "Mike", Phone = "555-1212" };
....
var newLargeOrderCustomers = from o in IncomingOrders
where o.OrderSize > 5
select new Customer
{
o.Name,
Phone = o.Phone
};
我可以使用o.dataElement或分配的名称(例如,DataElementName = o.dataElement)来引用数据元素。
除了获得可读性以外,最好是直接使用o.dataElement(例如o.Name)引用数据元素,还是间接使用分配的DataElementName(例如Phone)引用数据元素?
使用此语法:
var cust = new Customer { Name = "Mike", Phone = "555-1212" };
您已指定"Mike"
进入Name
的Customer
属性,而"555-1212"
进入Phone
的属性。
但是对象初始化语法有一个捷径:如果从中分配的表达式是一个属性,则C#会假设您是要将该表达式分配给相同的属性。例如:
var clonedCust = new Customer { cust.Name, cust.Phone };
您是否明确告诉C#目的地应该为Name
属性,这没有区别。
(WIP-我想检查生成的表达式树是否相同。)