我必須創建大量稍微不同的對象進行測試。所有的屬性都被修改爲不同的對象,但是一旦我創建了對象&就可以做到這一點,我不再需要它了。 我應該創建一個新的本地對象還是剛剛覆蓋&重新分配循環範圍之外的對象?C#創建新對象vs覆蓋現有對象(性能)
新(本地)對象
int testCases = 10;
for(int i=0; i<testCases; i++){
TestObject localObject = new TestObject(); //local variable for the loop
//change properties & do stuff with the test object
}
重新分配/覆蓋現有對象
TestObject myObject;
int testCases = 10;
for(int i=0; i<testCases; i++){
myObject = new TestObject(); //reassign object that exists outside the loop
//change properties & do stuff with the test object
}
「更改屬性&做的東西」 不是那麼重要,我知道如何創建我的對象的不同版本,只是不知道我是否應該摧毀他們每個迭代
您不重新分配對象,您創建一個新實例並將該實例分配給該變量。 –
新實例是在兩個版本中創建的,所以它並不重要。如果你不在循環外部使用'myObject',那麼編譯器會優化它。 – Maarten