Mit ProtoBuf-Net, wie ein multidimensionales Array (de) serialisieren?

8

Da ProtoBuf-Net das Serialisieren / Deserialisieren von mehrdimensionalen Arrays nicht unterstützt, wie würde ich meine Arrays verwalten?

    
Stécy 03.11.2010, 18:09
quelle

1 Antwort

6

Dies ist im Wesentlichen eine Beschränkung des zugrundeliegenden Protobuf-Drahtformats; Es unterstützt nur eindimensionale Arrays.

Zwei Optionen fallen mir ein; Erstens, senden Sie es als lineares Array und senden Sie die Dimensionen getrennt.

Sie können es auch als eine Liste von Objekten darstellen, die jeweils ein Array haben - im Wesentlichen ein gezacktes Array, aber mit einem Zwischenschritt.

Von den beiden ist der erste einfacher und effizienter.

Wie auch immer, wenn Sie etwas wie intergers senden, sollten Sie sich die "gepackte" Kodierung ansehen (verfügbar über die options -Eigenschaft) - dies kann die Nutzlast für Arrays usw. weiter reduzieren.

    
Marc Gravell 03.11.2010, 20:52
quelle