byte[] buf = new byte[5] { 1, 2, 3, 4, 5 };
是从哪里来的?可不是任何一个二进制数组都能这样处理的。除非你是序列化得来的Byte数组。

解决方案 »

  1.   

    可以参考下面的代码:try
    {
    int i = 1234;
    MemoryStream st = new MemoryStream();
    BinaryFormatter fo = new BinaryFormatter();
    fo.Serialize(st, i); byte[] buf = st.GetBuffer(); MemoryStream stream1 = new MemoryStream(buf);
    stream1.Position = 0;
    BinaryFormatter formatter = new BinaryFormatter();
    Object addresses1 = formatter.Deserialize(stream1);
    }
    catch (Exception e1)
    {
    }
      

  2.   

    try 
                { 
                    byte[] buf = new byte[5] {1,2,3,4,5};
                    BinaryFormatter formatter = new BinaryFormatter();                MemoryStream stream1 = new MemoryStream();
                    formatter.Serialize(stream1, buf);
                    stream1.Position = 0;    
                    Object addresses1 = formatter.Deserialize(stream1); 
                } 
                catch(SerializationException e1) 
                { 
                    Console.WriteLine("Failed   to   deserialize.   Reason:   "   +   e1.Message); 
                    throw; 
                } 
      

  3.   


    byte[]           buf   =   new   byte[5]   {   1,   2,   3,   4,   5   }; MemoryStream   stream1   =   new   MemoryStream(); System.Runtime.Serialization.Formatters.Binary.BinaryFormatter   formatter   =   new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter(); formatter.Serialize(stream1,buf);
    stream1.Position   =   0;
    Object   addresses1   =   formatter.Deserialize(stream1);试试