我希望获得 Span 代表的原始值。以下面的代码为例,我如何在不创建副本的情况下DoWork
访问原始字节数组?
static void Main()
{
var data = new byte[0x100];
DoWork(new Span<byte>(data));
}
private void DoWork(Span<byte> Data)
{
//var data = Data.ToArray(); Unsuitable; creates a copy
//var data = (byte[])Data; Unsuitable; doesn't work
//MemoryMarshal. Something in here may work, but unsure
//MemoryExtensions. Something in here may work, but unsure
}
我发现 2 个带有辅助方法的静态类(如上所示)可能会有所帮助,但我不确定在不使事情变得比复制更慢的情况下最好的方法是什么。