Я хочу получить исходное значение, которое представляет 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 статических класса с вспомогательными методами (показанными выше), которые могут помочь, но я не уверен, что лучший способ сделать это, не делая вещи медленнее, чем просто сделать копию.