我正在使用C#中的
我有一堆字节和字节数组,需要将它们复制到一个单独的字节数组中(用于只能处理
System.Buffers.MemoryPool<T>
和System.Memory<T>
,旨在减少字节数组的分配。我有一堆字节和字节数组,需要将它们复制到一个单独的字节数组中(用于只能处理
byte[]
而非Span
/Memory
的方法)。我正在做类似以下的事情:byte aByte = 0x01;
byte[] aByteArray = { 0x02, 0x03, 0x04 };
byte[] anotherByteArray = { 0x05, 0x06, 0x07 };
using (var buffer = MemoryPool<byte>.Shared.Rent(7))
{
Span<byte> target;
target = buffer.Memory.Slice(0, aByteArray.Length).Span;
aByteArray.CopyTo(target);
target = buffer.Memory.Slice(aByteArray.Length, anotherByteArray.Length).Span;
aByteArray.CopyTo(target);
// How to copy a single byte?
}
所以,我已经弄清楚如何将字节数组复制到缓冲区中,但是无法弄清如何设置单个字节。我尝试过buffer.Memory.Span[0] = aByte
,但Span
没有setter。
buffer.Memory.Span[0] = aByte;
对我有效。 - GSerg