C#序列化与反序列化
来源:互联网 发布:定制家具效果图软件 编辑:程序博客网 时间:2024/04/30 04:44
序列化与反序列化
序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。
通俗一点的解释,序列化就是把一个对象保存到一个文件或数据库字段中去,反序列化就是在适当的时候把这个文件或字段内容再转化成原来的对象引用。
.NET Framework提供两种序列化技术。
(1)二进制序列化:可以保持类型不变,即可以在应用程序的不同调用之间保留对象的状态。
(2)XML和SOAP序列化:仅序列化公共属性和字段,不保存类型。
主要作用: 1、在进程下次启动时读取上次保存的对象信息 2、在不同的AppDomain或进程之间传递数据 3、在分布式应用系统中传递数据
using System;using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
namespace BinarySerializableExample
{
[Serializable]
public class AuthUserEntry
{
private string accountName;
private int accountId;
public string AccountName
{
get
{
return accountName;
}
set
{
accountName=value;
}
}
public int AccountId
{
get
{
return accountId;
}
set
{
accountId=value;
}
}
}
class Account
{
static void Main(string[] args)
{
AuthUserEntry user=new AuthUserEntry();
user.AccountId=9912053;
user.AccountName="XinXin";
IFormatter formater = new BinaryFormatter();
Stream stream = new FileStream("UserInfo.bin", FileMode.Create, FileAccess.Write, FileShare.None);
formater.Serialize(stream, user);
stream.Close();
stream = new FileStream("UserInfo.bin", FileMode.Open, FileAccess.Read, FileShare.Read);
AuthUserEntry me = (AuthUserEntry)formater.Deserialize(stream);
stream.Close();
Console.WriteLine("帐户号:{0}", me.AccountId);
Console.WriteLine("帐户名:{0}", me.AccountName);
//按回车键结束
Console.ReadLine();
}
}
}
- c#序列化与反序列化
- C#序列化与反序列化
- C#序列化与反序列化
- c#序列化 与 反序列化
- C#序列化与反序列化
- C# 序列化与反序列化
- C#序列化与反序列化
- C#序列化与反序列化
- C#序列化与反序列化
- C# 序列化与反序列化
- C#序列化与反序列化
- C# 序列化 与 反序列化
- C#序列化与反序列化
- C# 序列化与反序列化
- C#序列化与反序列化
- c#序列化与反序列化
- C#序列化与反序列化
- C#序列化与反序列化
- 按键映射位置
- 日期类的实现(值调用,引用调用)
- C#图形面积计算(重载)
- C#中override重写与new隐藏的区别,以及C#与Java的Override区别[转载]
- C#委托,delgete
- C#序列化与反序列化
- Java 冒泡排序
- java需要学习那些知识?学习流程如何?
- C#接口使用
- 【转载】画笔与画刷VC(1)
- 读取文件方法大全
- 【转载】画笔与画刷VC(2)
- 计算机图形学第一次实验
- 计算机图形学第一次实验(续)