在C#中创建对象的最短方法

时间:2014-07-09 14:39:19

标签: c#

出于某种原因,我不想初始化一个对象,然后用两行分配值,我希望它只用一行完成,这就是我现在正在做的事情,

ObjectA oA = new ObjectA();
            oA = Mapper.Map<ObjectA>(someDBRow);

我可以简短地说明,

new ObjectA() oA = Mapper.Map<ObjectA>(someDBRow);

1 个答案:

答案 0 :(得分:10)

这是尝试看起来像逻辑意义的东西完美无缺的情况之一。

ObjectA oA = Mapper.Map<ObjectA>(someDBRow);

或者如果您愿意,可以让编译器找出类型:

var oA = Mapper.Map<ObjectA>(someDBRow);

当你这样做时

ObjectA oA = new ObjectA();
oA = Mapper.Map<ObjectA>(someDBRow)

发生的事情如下:

在第一行中,您创建一个名为oA的变量,并将ObjectA的实例放入其中。

然后,在第二行中,您丢弃使用new关键字创建的实例,并在变量中添加一个全新的实例。这太浪费了。