C# 结构数组和赋值性能

标签 c# struct value-type

假设我有这段代码:

struct Normal
{
    public float x;
    public float y;
}

class NormalContainer
{
   public Normal[] Normals
   {
       get; set;
   }
}

class Main
{
     void Run( NormalContainer container )
     {
         Normal[] normals = container.Normals // 1 - see below
         normals[5].x = 4;                    // 3 - see below
         container.Normals = normals;         // 2 - see below
     }
}

(1) 是否创建数组的副本,或者这是对数组占用的内存的引用? (2) 呢?

谢谢

最佳答案

Array是引用类型,因此您只需将引用复制到数组实例。

关于C# 结构数组和赋值性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9705422/

相关文章:

c# - 用于 HTML 输出的脱离上下文的字符串变量

c++ - 如何在 C++ 中向该程序添加 while 循环

c# - 如何在 C# 中将文本值拆分为包含单词的数组?

c# - 通过多个类传播属性更改

c - 与结构相关的语法斗争

ios - 我如何组织这些数据?

c# - 在值类型上定义的扩展方法不能用于创建委托(delegate)——为什么不呢?

c# - 盒装值类型比较

c# - 在互操作方法中为 `null` 参数传递 `ref struct` 引用

c# - Visual Studio 删除需要调试的文件