.NET函数Stream.Read()需要一个byte[]作为参数。我是否可以传递一个stackalloc'd byte*?这将避免我进行额外的堆分配,并在回收垃圾时节省时间。该函数很短,会被重复调用。
class SomeDataProcessor
{
[ThreadStatic]
static byte[] _Buffer;
}
我不认为你能够这样做,但是如果你想简化转换,你可以使用:
System.Runtime.InteropServices.Marshal.Copy
接受未管理的地址、大小、字节缓冲等。