我一直就不理解序列化是什么意思,我的理解是序列化后对象就会被转换成机器码存储于计算机中,不知道理解是否正确!
还请高手帮忙下!
还请高手帮忙下!
解决方案 »
- 为什么语句BtnDel.Enabled = false;执行后,删除按钮还是可用呢?
- [玻璃鱼V]重叠的PictureBox控件透明问题
- treeView 展开结点
- C#winform中 SQl求和的结果 如何显示到listview1中
- C#如何下载mms协议和Rstp协议的文件?
- Infragistics控建生成的树加上CHECKBOX后,如何加入全选?点击父节点把相应的所有子节点全部选中??
- 一个对动态时间文本用控件来控制的问题
- 求助(软件)Crystal Reports 10中文版
- 高手请进:能否在本地sqlserver上用触发器向远端的Oracle数据库插入一条数据?
- Socket最多一次可以接收多少字节???
- vs2005代码窗口上的两个下拉菜单内符号说明?
- c#学习步骤提示
http://www.pdmax.net/html/SWBBS/dispbbs.asp?boardid=11&Id=51
机器码,只有程序才有机器码的概念。对于程序有高级语言源代码,中间代码,汇编代码,机器码这样的区分,而对象的序列化,是以保存对象的“值”为目标的,处理的对象是数据,而不是程序。
在序列化的过程中,有可能有类型转换,也有可能没有;存储的格式可以是二进制流,也可以是字符串。比如:有一个类中有一个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的信息,因此保存一个实例可能需要保存多个相关的对象。