7

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

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

应用程序 -> SQLiteDatabase -> 应用程序

我的问题是:

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

例如:

Byte[] Data;

需要填充以下字节数组:

Byte[] IncomingData;

IncomingData不断被SQLiteDatabase填充。

数据需要不断地用IncomingData填充。

有人可以帮我吗?

4

2 回答 2

4

只需使用Concat

data1.Concat(IncomingData);

您需要添加System.Linq命名空间引用。

于 2013-02-26T11:04:12.557 回答
4

您可以采取几种方法。

  1. 使用一个List<byte>List.AddRange
  2. 使用 LINQEnumerable.Concat
  3. 使用Array.Copy并手动完成所有操作

在这三个中,如果可能的话,使用List它会(可能)减少所需的数组复制量。这就是 List 的用途,他们在幕后使用具有一定容量的数组,它从 4 开始,当达到容量时翻倍。甚至可以使用list.Capacity属性或构造函数将容量设置为某个较大的数字,int就像使用数组一样。您始终可以使用List.ToArray.

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

于 2013-02-26T11:07:52.053 回答