C# 使用BinaryReader反序列化失败

C# 使用BinaryReader反序列化失败,c#,C#,我有一个字节[],需要反序列化它 我写了这段代码 using(MemodyStream stream = new MemoryStream(byteArray) { using(BinaryReader reader = new BinaryReader(stream)) { Person p = new Person(); p.id = reader.ReadString(); p

我有一个
字节[]
,需要反序列化它

我写了这段代码

  using(MemodyStream stream = new MemoryStream(byteArray)
  {
       using(BinaryReader reader = new BinaryReader(stream))
       {
             Person p = new Person();
             p.id = reader.ReadString();
             p.age = reader.ReadInt32();
       }
  }
但是我不明白为什么我看到
BinaryReader
每次都返回0=>而
byteArray
不包含0

我的错在哪里

如何用另一种方式来做

添加

我用同样的顺序写这些数据

   using(BinaryWriter w = new BinaryWriter(stream))
   {
         w.Write(person.id);
         w.Write(person.age);
   }

我认为一切都很好,问题一定是严重的:

我使用此代码并确定:

        int myInt = 100;
        byte[] byteArray = BitConverter.GetBytes(myInt);

        using (MemoryStream stream = new MemoryStream(byteArray)) {
            using (BinaryReader reader = new BinaryReader(stream)) {
                var i = reader.ReadInt32();
            }
        }

你是如何用数组写你的
的?
ReadString
ReadInt32
要求以某种方式格式化数据。。。特别是 RealStc>代码>,它是如何被格式化的,它是不可能的,除了<代码> BinaryWriter < /代码>可以以这种方式格式化数据。在使用C语言编写器时是否有效?我建议在C语言和C++中查看En/解码字符串的二进制细节。NET使用little endian,顺便说一句。将写作细节添加到问题本身。读者不必翻阅评论。好的,我还用我写的一些序列化进行了测试——我也得到了很好的结果。@OF你能解释一下你是如何序列化的吗?是的,使用BinaryWriter。Write@Yanshof我的意思是写完整的代码来序列化byteArray