结构数组,成员别名

本文关键字:别名 成员 数组 结构 | 更新日期: 2023-09-27 18:30:39

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

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

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

有没有办法在不装箱/取消装箱的情况下为值类型成员添加别名?

结构数组,成员别名

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

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

注意:由于struct通常应保持不可变,因此不需要创建对它们的引用。