2010-07-10 329 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