c#把两个byte buff1和buff2合在一起赋值给buff1
时间: 2024-12-30 07:36:56 浏览: 4
在C#中,如果你有两个`byte[]`数组`buff1`和`buff2`,想要将它们合并到`buff1`,你可以创建一个新的`byte[]`数组,然后将它们的内容逐个复制过去。以下是一个示例:
```csharp
byte[] buff1 = new byte[/*原来buff1的长度*/];
byte[] buff2 = new byte[/*原来buff2的长度*/];
// 假设buff1和buff2的长度相加不超过 buff1 的原始容量
if (buff1.Length - buff1.Length % buff2.Length >= buff2.Length) {
byte[] combinedBuff = new byte[buff1.Length + buff2.Length];
// 将buff1原有的内容复制到combinedBuff
Buffer.BlockCopy(buff1, 0, combinedBuff, 0, buff1.Length);
// 将buff2的内容追加到combinedBuff
Buffer.BlockCopy(buff2, 0, combinedBuff, buff1.Length, buff2.Length);
// 现在combinedBuff就是你想要的结果
buff1 = combinedBuff;
} else {
throw new ArgumentException("合并后的数组会超过 buff1 的容量");
}
```
这里使用了`Buffer.BlockCopy`方法来进行高效的字节拷贝操作。
阅读全文