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

Sté*_*écy 8 .net arrays protobuf-net multidimensional-array

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

Mar*_*ell 6

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

跳过两个选择; 首先,将其作为线性阵列发送,并分别发送尺寸.

您还可以将它表示为每个都有一个数组的对象列表- 基本上是一个锯齿状数组,但是有一个中间步骤.

在这两者中,第一个更简单,更有效.

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