C#字节数组未正确分配

Tho*_*yen 0 c# serialization allocation

奇怪问题的截图

我正在尝试在C#中序列化一个对象.我得到了对象大小并将其保存在上面屏幕截图中207行的变量size1中.Size1的值为160.然后我使用size1在第210行分配一个名为buf的字节数组.Buff出来是一个2字节的数组!怎么会这样?!

Sco*_*ain 8

问题出在这里

byte[] buf = new byte[size1];
byte[] buf2 = new byte[16];
buf = b.ReadBytes(...); //<----
Run Code Online (Sandbox Code Playgroud)

你正在取代buf结果ReadBytes.抛弃原始数组并将其替换为返回的数组ReadBytes(在您的情况下是一个双字节数组)