首页 > Windows开发 > 详细

C# 中的序列化

时间:2021-08-17 20:37:22      阅读:24      评论:0      收藏:0      [点我收藏+]
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技术分享图片

C# 中的序列化

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!