Используя ProtoBuf-Net, как (де) сериализовать многомерный массив? - PullRequest
8 голосов
/ 03 ноября 2010

Поскольку ProtoBuf-Net не поддерживает сериализацию / десериализацию многомерных массивов, как мне поступить с управлением своими массивами?

1 Ответ

6 голосов
/ 03 ноября 2010

Это, по сути, ограничение основного формата протокола protobuf;он поддерживает только одномерные массивы.

На ум приходят два варианта;во-первых, отправьте его в виде линейного массива и отправьте размеры отдельно.

Вы также можете представить его в виде списка объектов, каждый из которых имеет массив - по сути, зубчатый массив, но спромежуточный шаг.

Из двух, первый более простой и эффективный.

В любом случае, если вы отправляете что-то вроде интергера, вы должны посмотреть на «упакованное» кодирование (доступночерез свойство options) - это может еще больше уменьшить полезную нагрузку для массивов и т. д.

...