Return C#3.5 中的引用数组

Return array by reference in C#3.5

由于 C# 3.5 没有 ref 关键字,(除非它有并且我遗漏了一些东西)我认为一个非常 hacky 的解决方法是像这样使用指针。

public unsafe uint toByteArray() {
    byte[] arr = new byte[10];
    return (uint)&arr;
}

我可以稍后 uncast/reference。但这似乎有漏洞。此外,我真的不想复制数组,因为我无法编辑它;我只是想要一个参考来阅读。有什么明智的方法吗?

在这种情况下,您可能不需要参考资料

public byte[] toByteArray()
{
    byte[] arr = new byte[10];
    ...
    return arr;
}

Returns 对创建的数组的引用并且不复制任何内容,因为数组是 .net 中的引用类型。

通过引用返回(引用 return 值)与 return 引用类型实例不同。