这些分配变量的方式有什么不同?

问题描述:

创建一个专门用于赋值变量的变量与使用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我对*有点新,所以我不确定这是否是唯一的方法,但是如果您创建了一个简短的答案,我会将其标记为正确,并将其注销。谢谢您的帮助! – Bdubbs

两者有相同的最终结果,但第二种方法是不必要的,因为新变量'temp'被创建并存储在内存中。所以它需要一点内存和少量的处理能力来做到这一点。

+0

感谢您的信息! – Bdubbs

的编译的代码是基本相同的,这意味着小到没有区别。感谢@Rup为我指出了这一点。