结构数组,成员别名

时间:2016-01-17 10:33:36

标签: c# .net

我在为结构数组的成员创建别名时遇到问题。通常当数组成员是引用类型时,我创建对成员引用的引用,如下所示:

CustomReferenceType[] foo = new CustomReferenceType[10];
CustomReferenceType alias=foo[0];

尝试对具有值类型成员的数组执行类似操作时,编译器会将值本身复制到新变量,因此,例如,当我操作结构的成员时,更改不会反映回原始值结构

有没有办法在没有装箱/拆箱的情况下对值类型成员进行别名?

1 个答案:

答案 0 :(得分:2)

不,无法创建对值类型的引用。

除了通过引用方法传递值对象的情况之外,C#不提供引用值对象的方法。您需要在数组中设置实际对象以使其值更改。

注意:struct s should generally remain immutable以来,不应要求创建对它们的引用。