为了账号安全,请及时绑定邮箱和手机立即绑定

复制/设置 Memory<byte> 中的单个字节

复制/设置 Memory<byte> 中的单个字节

C#
慕姐4208626 2022-07-10 15:59:24
我从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>:/


查看完整回答
反对 回复 2022-07-10
  • 1 回答
  • 0 关注
  • 46 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信