使用多个字节[] s填充一个字节[]

时间:2013-02-26 10:57:58

标签: c# visual-studio sqlite bytearray

我创建了一个在我的SQLiteDatabase中存储字节数组的应用程序。 同样的应用程序还每隔'x'秒从数据库中选择字节数组。

我的应用程序的数据流如下:

  

申请 - > SQLiteDatabase - >应用

我的问题是:

如何使用SQLiteDatabase中的所有传入字节数组填充一个字节数组?

例如:

Byte[] Data;

需要填充以下字节数组:

Byte[] IncomingData;
SQLiteDatabase 不断填充

IncomingData

数据需要不断填充 IncomingData

有人能帮助我吗?

2 个答案:

答案 0 :(得分:4)

只需使用Concat

data1.Concat(IncomingData);

您需要添加System.Linq命名空间参考。

答案 1 :(得分:4)

您可以采取一些方法。

  1. 使用List<byte>List.AddRange
  2. 使用LINQ的Enumerable.Concat
  3. 使用Array.Copy并手动完成所有操作
  4. 在这三者中,如果可能的话,请使用List,因为它(可能)会减少所需的阵列复制量。这就是List的用途,他们在幕后使用一个capacity的阵列,它从4开始,当它达到容量时加倍。容量甚至可以使用list.Capacity属性设置为某个大数字,或者使用int的构造函数与数组一样。您始终可以使用List.ToArray恢复列表。

    Enumerable.Concat可能只会创建一个最小大小的数组,这意味着每次获得更多byte时需要创建一个新数组。