2010-07-10 335 views
0

给定的代码样本是否执行相同的操作?我真的需要一个EXTRA对象实例化代码吗?第一个代码段会有什么问题吗?将值赋给对象

样品1

Dog adog= new Dog(); 
adog.ID = dogID; 
adog.CategoryId= dogCategoryId; 

adog= DogRepository.FindDogByCategoryId(adog); 

分配值返回到相同的对象

样品2

Dog adog= new Dog(); 
adog.ID = dogID; 
adog.CategoryId= dogCategoryId; 

Dog odog= DogRepository.FindDogByCategoryId(adog); 

分配的值,以一个不同的对象

回答

1

不,您可以根据需要重新使用原始对象。第一个代码将工作得很好。

提供,即FindDogByCategoryId返回一个新的Dog对象,并且不再需要旧的adog。这将永远消失。非常伤心失去一个爱的宠物。

要小心,不要当一个程序员开始思考性能细节牺牲品overoptimization,这通常发生(这里的收获还真是分钟),才知道什么他们的表现需要是。

+0

我不会失去我的宠物,因为它会重生:) – 2010-07-12 08:54:57