Protobuf net c#列表的序列化/反序列化导致集合为空

Protobuf net c#列表的序列化/反序列化导致集合为空,c#,protobuf-net,C#,Protobuf Net,我正在尝试序列化和反序列化列表 最终目标是序列化API的对象/对象列表 Protobuf net 2.3.17(撰写本文时的最后一个) 经过一些阅读,我还没有解决这个问题。 这是我用于测试的简单代码,但也用于我的序列化/反序列化类: using (var stream = new MemoryStream()) { Serializer.Serialize(stream, data); var x = stream.ToArray(); using (

我正在尝试序列化和反序列化
列表

最终目标是序列化API的对象/对象列表

Protobuf net 2.3.17(撰写本文时的最后一个)

经过一些阅读,我还没有解决这个问题。 这是我用于测试的简单代码,但也用于我的序列化/反序列化类:

using (var stream = new MemoryStream())
   {
      Serializer.Serialize(stream, data);
      var x = stream.ToArray();

      using (var stream2 = new MemoryStream(x))
        {
          var r = Serializer.Deserialize<List<Host>>(stream);
        }
    }
而x(我猜)是正确序列化的(x包含33000字节) r是一个包含0个元素的集合

怎么了,我错过了什么


谢谢你

你用stream2试过r吗?

这里:

using (var stream2 = new MemoryStream(x))
{
  var r = Serializer.Deserialize<List<Host>>(stream);
}

反序列化时使用的是流,而不是stream2。所以内存流的位置可能在最后。。。从头开始寻找。这并不能提供问题的答案。一旦你有足够的钱,你将能够;相反我取消删除它,因为尽管审查队列标记它:它是绝对正确和有效的。有时简洁的回答是正确的。对于@schen993的建议是:尽量明确你的意思。“你100%就在这里,但这并不明显。”MarcGravel感谢你取消删除。。。。我只是想“回答问题”……每个人(我不是说你)都那么专注于抛开别人的帖子——“回答问题”怎么了?“这并不能回答问题”-这能回答问题吗?AeonDave,如果它解决了您的问题,请标记为答案problem@schen993我想如果你再加上几句话解释为什么这是一个问题,你会得到非常积极的回应。嘿!我先发布了答案!
using (var stream2 = new MemoryStream(x))
{
  var r = Serializer.Deserialize<List<Host>>(stream);
}
var r = Serializer.DeepClone(data);