使用ProtoBuf-Net,如何(反)序列化多维数组?

时间:2010-11-03 18:09:04

标签: .net arrays multidimensional-array protobuf-net

由于ProtoBuf-Net不支持序列化/反序列化多维数组,我将如何管理我的数组呢?

1 个答案:

答案 0 :(得分:6)

这基本上是对底层protobuf线格式的限制;它只支持单维数组。

有两种选择;首先,将其作为线性阵列发送,并分别发送尺寸。

你也可以将它表示为每个拥有数组的对象列表 - 基本上是一个锯齿状数组,但是有一个中间步骤。

在这两者中,第一个更简单,效率更高。

无论哪种方式,如果你发送像intergers这样的东西,你应该看看“packed”编码(可通过options属性获得) - 这可以进一步减少数组等的有效负载。