不了解定义方法,以下是代码
Person p = new person();
p = CreatePersonModel();
CreatePersonModel()
在其中创建人物模型。
但是如果我想使用
重写它Person p = CreatePersonModel();
它也工作正常。那么第一种和第二种方法的区别是什么。
答案 0 :(得分:0)
在第一种方法中,您将创建一个新的person对象并将其分配给p
。然后,您将取消引用新创建的对象,并将p
分配给CreatePersonModel()
所做的事情。
第二种方法是将p
直接分配给返回的CreatePersonModel()
。
第二种方法可以避免创建立即丢弃的对象,因此通常首选第二种方法。
如果Person
对象稍微复杂一些,并且可能需要其他资源,则第一种方法还可能遇到其他问题。这会使您的应用程序需要更多的时间和/或资源,而一无所获。
答案 1 :(得分:0)
第一个代码段创建了两个对象。称new
时的一个:
Person p = new person();
另一个是将CreatePersonModel()
的结果分配给p
时。
p = CreatePersonModel();
原始值丢失,将被垃圾回收。这很浪费,应该避免。
第二个片段仅创建一个对象:
Person p = CreatePersonModel();
使用类型推断的等效项是:
var p = CreatePersonModel();