c # — список Serilize & lt; List & lt; string & gt; & gt; в ProtoBuf-net и десериализовать как вектор C ++ & lt; vector & lt; string & gt; & gt;

У меня есть список объектов списка в C #

List<List<string>> matrix = new List<List<string>>();

ПРИМЕЧАНИЕ: количество элементов в списках изменяется во время выполнения
который я хочу сериализовать с использованием protobuf

И позже мне нужно десериализовать данные с помощью protocolBuffer в C ++ как vector<vector<string>>

Можно ли это сделать? Хотите знать, как определить файл .proto?

2

Решение

Для этого в .proto вам нужно добавить слой:

message Outer {
repeated Inner items = 1;
}
message Inner {
repeated string items = 1;
}

Из-за этого структурного аспекта базовой спецификации protobuf, protobuf-net в настоящее время не поддерживает прямые / неровные списки / массивы — но это мой план, чтобы поддержать это, подделав вышеуказанный макет в воображении protobuf-net.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]