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 引用类型实例不同。
由于 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 引用类型实例不同。