2016-10-10 47 views
1

創建一個專門用於賦值變量的變量與使用new關鍵字創建符合值賦值的變量之間有什麼區別?我明白,他們最終都會得到相同的結果,我只想知道是否有任何性能差異和類似的東西。這些分配變量的方式有什麼不同?

例如:

this.transform.position = new Vector3(mousePosInBlocks, this.gameObject.transform.position.y, this.transform.position.z); 

VS

Vector3 temp = new Vector3(mousePosInBlocks, this.gameObject.transform.position.y, this.transform.position.z); 
this.gameObject.transform.position = temp; 

此示例代碼使用統一5S位置系統的遊戲對象..

+3

你可以比較編譯的代碼嗎?我希望他們在發佈模式下的代碼完全相同。 – Rup

+0

@Rup我只是看着編譯後的代碼,它看起來是一樣的,只是行數有點不同而已。謝謝! – Bdubbs

+0

@Rup我對StackOverflow有點新,所以我不確定這是否是唯一的方法,但是如果您創建了一個簡短的答案,我會將其標記爲正確,並將其註銷。謝謝您的幫助! – Bdubbs

回答

1

兩者有相同的最終結果,但第二種方法是不必要的,因爲新變量'temp'被創建並存儲在內存中。所以它需要一點內存和少量的處理能力來做到這一點。

+0

感謝您的信息! – Bdubbs

2

的編譯的代碼是基本相同的,這意味着小到沒有區別。感謝@Rup爲我指出了這一點。