在C#3.5中按引用返回数组

时间:2018-07-17 13:54:58

标签: c#-3.0

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

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

然后我可以取消广播/引用它。但这似乎是泄漏。此外,我真的不想复制该数组,因为我无法对其进行编辑;我只想阅读参考。有什么明智的方法吗?

1 个答案:

答案 0 :(得分:0)

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

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

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

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