我一直就不理解序列化是什么意思,我的理解是序列化后对象就会被转换成机器码存储于计算机中,不知道理解是否正确!
还请高手帮忙下!

解决方案 »

  1.   

    就是把对象转换成流或者XML等容易保存和传输的形式。
      

  2.   

    对象转流或者xml文件进行存储传输,需要的时候再把它们转换回来
      

  3.   

    给个简单介绍C#系列化的链接,有代码示例
    http://www.pdmax.net/html/SWBBS/dispbbs.asp?boardid=11&Id=51
      

  4.   

    序列化不是你理解的意思。结合你的理解,我说一下序列化的概念吧。
    机器码,只有程序才有机器码的概念。对于程序有高级语言源代码,中间代码,汇编代码,机器码这样的区分,而对象的序列化,是以保存对象的“值”为目标的,处理的对象是数据,而不是程序。
    在序列化的过程中,有可能有类型转换,也有可能没有;存储的格式可以是二进制流,也可以是字符串。比如:有一个类中有一个Image对象,在内存中它是一段字节流(byte[]);而如果你要序列化你可以以字节流的形式存储它,也可以将其进行base64编码然后再存储。结合上面的内容,我觉得序列化要说个定义还有些麻烦。我理解的是这样的:
    1、它的目标是通过流(字节,字符串)来传送一个对象,保存对象实际把这个流存传送到存储设备的过程。
    2、这个流是有固定的格式的。比如有一个类是
    public class A
    {
       public int X;
       public int Y;
    }
    那么在序列化时要么总是先保存X再保存Y或者是反之。
    3、保存一个对象时可能需要保存多个相关的对象。比如:
    public class B
    {
       public A a;
    }如果对一个B对象进行序列化,那么就需要保存a的信息,因此保存一个实例可能需要保存多个相关的对象。