阅读 43

C# 中的序列化

1 /*****************序列化与反序列化***************
 2  * 好文:http://www.cnblogs.com/chjw8016/archive/2008/02/23/1078204.html
 3  * 1.把对象转换为字节序列的过程称为对象的序列化。 
 4  * 2.把字节序列恢复为对象的过程称为对象的反序列化。
 5  * 3.最简单的方法是使用 Serializable 属性对类进行标记
 6  * 4.IFormatter提供序列化的接口
 7  ************************************************/
 8 using System;
 9 using System.Data;
10 using System.Configuration;
11 using System.Web;
12 using System.Web.Security;
13 using System.Web.UI;
14 using System.Web.UI.WebControls;
15 using System.Web.UI.WebControls.WebParts;
16 using System.Web.UI.HtmlControls;
17
18 /// 
19 /// MyObject 的摘要说明
20 /// 
21 [Serializable]
22 public class MyObject
23 {
24     public int n1 = 0;
25     public int n2 = 0;
26     public string str = null;
27  public MyObject()
28  {
29   //
30   // TODO: 在此处添加构造函数逻辑
31   //
32  }
33 }
34 Default.cs
35
36 using System;
37 using System.Data;
38 using System.Configuration;
39 using System.Web;
40 using System.Web.Security;
41 using System.Web.UI;
42 using System.Web.UI.WebControls;
43 using System.Web.UI.WebControls.WebParts;
44 using System.Web.UI.HtmlControls;
45
46 using System.IO;
47 using System.Runtime.Serialization;
48 using System.Runtime.Serialization.Formatters.Binary;
49
50 public partial class _Default : System.Web.UI.Page
51 {
52     protected void Page_Load(object sender, EventArgs e)
53     {
54         //FuncSerialize();
55         FuncDeserialize();
56     }
57     /// 
58     /// 序列化,把对象序列化为一个文件
59     /// 
60     private void FuncSerialize()
61     {
62         MyObject obj = new MyObject();
63         obj.n1 = 1;
64         obj.n2 = 24;
65         obj.str = "字符串";
66         IFormatter formatter = new BinaryFormatter();
67         Stream stream = new FileStream(@"c:\MyFile.bin", FileMode.Create, FileAccess.Write, FileShare.None);
68         formatter.Serialize(stream, obj);
69         stream.Close();
70     }
71     /// 
72     /// 反序列化,把文件化为一个对象
73     /// 
74     private void FuncDeserialize()
75     {
76         IFormatter formatter = new BinaryFormatter();
77         Stream stream = new FileStream(@"c:\MyFile.bin", FileMode.Open,
78         FileAccess.Read, FileShare.Read);
79         MyObject obj = (MyObject)formatter.Deserialize(stream);
80         stream.Close();
81         this.Title = obj.str;
82     }
83 }
84

原文:https://www.cnblogs.com/bruce1992/p/15152648.html

文章分类
代码人生
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐