我的类(class)有一个属性 public byte[] Location{get;} = new byte[30];
我希望能够从 ReadOnlySpan<byte>
填充它但我找不到任何允许这样做的 API 方法。
我找到的最接近的是:
var array = span.Slice(0,30).ToArray();
Array.Copy(array, Locations, 30);
但是必须创建一个新数组来复制它似乎真的很难看……涉及一个数组创建和 2 个副本。我可以使属性可设置,但这并不是真正的预期设计。我错过了一些明显的方法吗?
最佳答案
您可以使用 Span<byte>
定位您的 Location
数组,然后使用 CopyTo
对于副本:
var source = new ReadOnlySpan<byte>(Source).Slice(0, 30);
var target = new Span<byte>(Location, 0, 30); //Modify start & length as required
source.CopyTo(target);
关于c# - 如何从 ReadOnlySpan<T> 复制到 Array<T>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62881863/