代码之家  ›  专栏  ›  技术社区  ›  Narek

Unity-Vector3结构-通过引用传递值类型

  •  0
  • Narek  · 技术社区  · 6 年前

    在团结中你必须面对 Vector2 Vector3 在代码中值很多时间。这两个都是结构,这意味着当您将代码模块化为小函数时,每次将这些值传递给函数参数时,您都会复制它们。是的,你在堆栈中复制它们,但是如果我们能传递它的引用,我们仍然可以做更少的工作。我们可以通过引用将值类型传递给函数,而不必处理装箱问题。

    换句话说,我可以在堆栈上获取一个值类型变量的引用以供以后使用吗?

    P.S.我是C++的家伙,这就是为什么我会这样愚蠢的问题:

    1 回复  |  直到 6 年前
        1
  •  1
  •   BlackBrain    6 年前

    是的,您可以在C#中通过引用传递变量。例子:

    void Foo(ref Vector3 myVec)
    {
      ...
    }
    
    Vector3 vectorA = Vector3.Zero;
    Foo(ref vectorA);