使用 ProtoBuf-Net,如何(反)序列化多维数组?
Posted
技术标签:
【中文标题】使用 ProtoBuf-Net,如何(反)序列化多维数组?【英文标题】:Using ProtoBuf-Net, how to (de)serialize a multi-dimensional array? 【发布时间】:2010-11-03 18:09:04 【问题描述】:由于 ProtoBuf-Net 不支持序列化/反序列化多维数组,我将如何管理我的数组?
【问题讨论】:
【参考方案1】:这本质上是底层 protobuf 线格式的限制;它只支持一维数组。
我想到了两个选项;首先,将其作为线性数组发送,并单独发送维度。
您也可以将其表示为一个对象列表,每个对象具有一个数组——本质上是一个锯齿状数组,但有一个中间步骤。
在这两者中,第一个既简单又高效。
无论哪种方式,如果您要发送整数之类的东西,您应该查看“打包”编码(可通过 options 属性获得) - 这可以进一步减少数组等的有效负载。
【讨论】:
谢谢。那正是我所想。希望谷歌能尽其所能提供一种优雅地处理此案的方法。我猜不是。以上是关于使用 ProtoBuf-Net,如何(反)序列化多维数组?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 protobuf-net 序列化/反序列化锯齿状/嵌套数组?