c#将多个byte数组拼接在一起
时间: 2024-10-09 07:12:38 浏览: 42
在C#中,如果你想将多个`byte[]`数组拼接在一起,可以创建一个新的`byte[]`数组,然后用`Array.Copy()`方法逐个复制每个数组的内容到新数组。下面是一个简单的示例:
```csharp
byte[] array1 = { 1, 2, 3 };
byte[] array2 = { 4, 5, 6 };
int totalLength = array1.Length + array2.Length;
byte[] combinedArray = new byte[totalLength];
// 将array1的内容复制到combinedArray
Array.Copy(array1, 0, combinedArray, 0, array1.Length);
// 然后再将array2的内容复制到combinedArray剩余部分
Array.Copy(array2, 0, combinedArray, array1.Length, array2.Length);
```
在这个例子中,`combinedArray`最终会包含`{ 1, 2, 3, 4, 5, 6 }`。
如果你有很多数组需要拼接,可以使用循环或者`List<byte[]>`来组织它们,再一次性转换成`byte[]`:
```csharp
List<byte[]> arraysToCombine = new List<byte[]>
{
array1,
array2,
// 添加其他数组...
};
byte[] combinedFinalArray = arraysToCombine.SelectMany(arr => arr).ToArray();
```
这里使用了LINQ的`SelectMany()`方法,它会扁平化所有数组。
阅读全文