在 Unity 中,您必须在代码中多次处理 Vector2
和 Vector3
值。两者都是结构体,这意味着当您使用小函数将代码模块化时,每次将这些值传递给函数参数时都会复制它们。是的,您将它们复制到堆栈中,但如果我们可以传递它的引用,我们仍然可以减少工作量。我们可以通过引用将值类型传递给函数而不处理装箱问题吗?
换句话说,我可以获取堆栈上值类型变量的引用以便稍后使用吗?
附注我是一个 C++ 人,这就是为什么我会问这样愚蠢的问题:)
最佳答案
是的,您可以在 C# 中通过引用传递变量。示例:
void Foo(ref Vector3 myVec)
{
...
}
Vector3 vectorA = Vector3.Zero;
Foo(ref vectorA);
关于c# - Unity - Vector3 结构 - 通过引用传递值类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52613358/