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

标签 c# function reference pass-by-reference value-type

在 Unity 中,您必须在代码中多次处理 Vector2Vector3 值。两者都是结构体,这意味着当您使用小函数将代码模块化时,每次将这些值传递给函数参数时都会复制它们。是的,您将它们复制到堆栈中,但如果我们可以传递它的引用,我们仍然可以减少工作量。我们可以通过引用将值类型传递给函数而不处理装箱问题吗?

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

附注我是一个 C++ 人,这就是为什么我会问这样愚蠢的问题:)

最佳答案

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

void Foo(ref Vector3 myVec)
{
  ...
}

Vector3 vectorA = Vector3.Zero;
Foo(ref vectorA);

关于c# - Unity - Vector3 结构 - 通过引用传递值类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52613358/

相关文章:

c# - .net 中的逻辑核心编程

c# - 在 WCF 中不使用 CallBack 将数据推送到客户端

c++ - 类 undefined reference

c# - 引用的项目 x 不存在

reference - 将元组引用的迭代器解压缩到两个引用集合中

c# - 如何使用 VSTO 和 MEF 解决 ServiceLocator.Current 为空

c# - 如何在 C# 中使用 DBContext 编写动态 LINQ 查询

postgresql - 在函数中更改架构名称

javascript - 从 JavaScript 中的多个函数返回结果

c++ - 从不兼容的类型分配给 Double?