我从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没有二传手。
1 回答
波斯汪
TA贡献1811条经验 获得超4个赞
在阅读了@PetSerAl 的评论后,我检查了一下,实际上并没有编译时错误——Visual Studio 中只显示了一个警告。ReSharper 让我在这里发现了可能是一个错误的问题。
我应该考虑检查一下,因为 ReSharper 之前已经让我失望了很多次,因为它具有新的 C# 功能,例如Span<T>
和Memory<T>
:/
- 1 回答
- 0 关注
- 46 浏览
添加回答
举报
0/150
提交
取消