- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C序列化技术入门基础
序列化和反序列化我们可能经常会听到,其实通俗一点的解释,序列化就是把一个对象保存到一个文件或数据库字段中去,反序列化就是在适当的时候把这个文件再转化成原来的对象使用。序列化和反序列化最主要的作用有:1、在进程下次启动时读取上次保存的对象的信息 2、在不同的AppDomain或进程之间传递数据 3、在分布式应用系统中传递数据......在C#中常见的序列化的方法主要也有三个:BinaryFormatter、SoapFormatter、XML序列化本文就通过一个小例子主要说说这三种方法的具体使用和异同点这个例子就是使用三种不同的方式把一个Book对象进行序列化和反序列化,当然这个Book类首先是可以被序列化的。Book类
using System;
using System.Collections;
using System.Text;
namespace SerializableTest
{
[Serializable]
public class Book
{
public Book()
{
alBookReader = new ArrayList();
}
public string strBookName;
[NonSerialized]
public string strBookPwd;
private string _bookID;
public string BookID
{
get { return _bookID; }
set { _bookID = value; }
}
public ArrayList alBookReader;
private string _bookPrice;
public void SetBookPrice(string price)
{
_bookPrice = price;
}
public void Write()
{
Console.WriteLine(Book ID: + BookID);
Console.WriteLine(Book Name: + strBookName);
Console.WriteLine(Book Password: + strBookPwd);
Console.WriteLine(Book Price: + _bookPrice);
Console.WriteLine(Book Reader:);
for (int i = 0; i alBookReader.Count; i++)
{
Console.WriteLine(alBookReader[i]);
}
}
}
}
这个类比较简单,就是定义了一些public字段和一个可读写的属性,一个private字段,一个标记为[NonSerialized]的字段,具体会在下面的例子中体现出来一、BinaryFormatter序列化方式1、序列化,就是给Book类赋值,然后进行序列化到一个文件中 Book book = new Book();
book.BookID = 1;
book.alBookReader.Add(gspring);
book.alBookReader.Add(永春);
book.strBookName = C#强化;
book.strBookPwd = *****;
book.SetBookPrice(50.00);
BinarySerialize serialize = new BinarySerialize();
serialize.Serialize(book);2、反序列化
??????????? BinarySerialize serialize = new BinarySerialize
文档评论(0)