搞不懂为什么要序列化。序列化作用是什么,一般用在哪些场合
解决方案 »
- c# 中动态生成类文件以及添加相应属性
- 如何弹出另一个窗体 form{全局化路径.cs}
- 求助:DataGridView如何设置行高,列宽及字体大小?
- SQL中用户的问题
- 求助:纵向导航菜单
- c# webbrowser控件中怎么模拟触发onclick事件
- 我问一个基础问题
- .net2中使用System.Management.ManagementClass mc = new System.Management.ManagementClass("Win32_Processor");的时候出错了
- 如何将中文转换为拼音
- 请问:怎样再次触发运行着的窗体的LOAD事件??
- 关于传值的问题,c#里面,如何取得弹出式窗口返回的值,
- 那里有免费的动态域名解析软件,可以运态解析我的ADSL的公网IP,然后用域名登陆我的个人服务器网页呢?
它能将对象转成如XML/Bit流;
它是Session(进程外/SqlServer模式),ViewState,WebService,Remoting等的基础。
public class Student
{
public int id;
public string name;
public bool sex;
public DateTime birthday;
...
}// 序列化为byte[]
MemoryStream fs = new MemoryStream();
byte[] tmp = null;
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(fs, student);
tmp = fs.ToArray();
将tmp作为bianry数据存到数据库// 反序列化直接生成Student类
MemoryStream fs = new MemoryStream();
Student student = null;
fs = new MemoryStream(tmp);
fs.Position = 0;
BinaryFormatter formatter = new BinaryFormatter();
student = formatter.Deserialize(fs);
操作方便不用一一赋值。不过也有一些问题,如存到数据库以后,类Student又添加了属性,于是就反序列化不出来了!
能否在这方面举个例子说明一下。