结构数组,成员别名
本文关键字:别名 成员 数组 结构 | 更新日期: 2023-09-27 18:30:39
我在为结构数组的成员创建别名时遇到问题。通常,当数组成员为引用类型时,我创建对成员引用的引用,如下所示:
CustomReferenceType[] foo = new CustomReferenceType[10];
CustomReferenceType alias=foo[0];
尝试对具有值类型成员的数组执行类似操作时,编译器会将值本身复制到新变量中,因此,例如,当作结构的成员时,更改不会反映回原始结构。
有没有办法在不装箱/取消装箱的情况下为值类型成员添加别名?
不,无法创建对值类型的引用。
除了通过引用方法传递值对象的情况外,C# 不提供对值对象的引用的方法。您需要在数组中设置实际对象才能更改其值。
注意:由于struct
通常应保持不可变,因此不需要创建对它们的引用。