c# 多个不同长度的byte[]数组合并成一个新的byte[]数组
时间: 2023-11-21 20:05:59 浏览: 36
你可以使用System.Linq中的SelectMany方法和Concat方法来合并多个不同长度的byte[]数组。下面是一个示例代码:
```
byte[] arr1 = { 0x01, 0x02, 0x03 };
byte[] arr2 = { 0x04, 0x05 };
byte[] arr3 = { 0x06, 0x07, 0x08, 0x09 };
byte[] arr4 = { 0x0A };
byte[] result = arr1
.Concat(arr2)
.Concat(arr3)
.Concat(arr4)
.ToArray();
// result = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A }
```
在这个示例中,我们将四个不同长度的byte[]数组合并成一个新的byte[]数组。使用SelectMany方法将每个byte[]数组中的元素展平为一个序列,Concat方法将所有序列连接成一个新的序列,最后使用ToArray方法将结果转换为byte[]数组。
相关问题
c#两个byte数组合并
在 C# 中,可以使用 `Array.Copy` 方法将两个 `byte` 数组合并成一个新的数组。具体步骤如下:
```csharp
byte[] array1 = new byte[] { 0x01, 0x02, 0x03 };
byte[] array2 = new byte[] { 0x04, 0x05, 0x06 };
byte[] result = new byte[array1.Length + array2.Length];
Array.Copy(array1, 0, result, 0, array1.Length);
Array.Copy(array2, 0, result, array1.Length, array2.Length);
```
在上面的代码中,首先定义了两个 `byte` 数组 `array1` 和 `array2`,然后定义了一个新的 `byte` 数组 `result`,长度为两个数组的长度之和。接着使用 `Array.Copy` 方法将 `array1` 和 `array2` 的内容分别复制到 `result` 数组中,从 `result` 数组的起始位置开始复制,`array1` 复制的长度为 `array1.Length`,`array2` 复制的长度为 `array2.Length`。最终,`result` 数组就是合并后的数组。
c#将多个int数组合并成一个新的int数组
您可以使用LINQ中的Concat方法来将多个int数组合并成一个新的int数组。以下是示例代码:
```csharp
int[] array1 = { 1, 2, 3 };
int[] array2 = { 4, 5 };
int[] array3 = { 6 };
int[] mergedArray = array1.Concat(array2).Concat(array3).ToArray();
```
在上面的示例中,我们将三个int数组(array1, array2 和 array3)合并成一个新的int数组(mergedArray)。首先,我们将array1和array2合并,然后再将结果与array3合并,最后使用ToArray方法将结果转换为数组。