当我创建一个具有恒定大小的数组时,我试图了解幕后发生的事情,如下所示:
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
public float[] constArray;
我知道我可以使用fixed
关键字,但ref
不再是选项,并且所有指针操作都必须在固定表达式内。
我要做的是解析一个 XML 文件并存储在数组中的给定索引处。因此,如果文件中有 10 个元素,我可能会设置以下内容:
for (int i = 0; i < 10; i++)
{
readElement("element", ref constArray[i]);
}
然而,constArray[i]
是null
。
也许需要进一步的实例化,但是编组的意义何在。我认为编组创建了ref
用于创建引用的对象。
我通读了引用类型和值类型,但没有找到太多信息。我还阅读了其他一些内容,例如ref和引用数组,但进展不大。
我似乎可以找到一个提供良好概念理解的资源。因此,我们将不胜感激任何资源以及答案。
谢谢你,布莱克