c# 用binary实现序列化和反序列化

直接用实例来说明序列化和反序列化:

namespace DynamicTest
{
class Program
{
static void Main(string[] args)
{
List<Person> list = new List<Person>();
Person p = new Person();
p.ID = 1;
p.Age = 12;
p.Name = "zhiqing";
p.Money = 120.3M;
list.Add(p);
string fileName = "C:\\Users\\zhiqing\\Desktop\\test.txt";
Stream fstream = new FileStream(fileName, FileMode.Create, FileAccess.ReadWrite, FileShare.None);
BinaryFormatter binFormat = new BinaryFormatter();//创建二进制序列化器
binFormat.Serialize(fstream, list);
fstream.Close();

Console.WriteLine("c# 用二进制实现序列化");

////反序列化
try
{
FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.ReadWrite);
BinaryFormatter binayFormat = new BinaryFormatter();
List<Person> li = (List<Person>)binayFormat.Deserialize(fs);
foreach (Person per in li)
{
Console.WriteLine("反序列化结果:ID :{0}", per.ID +","+ per.Name+"," + per.Age+"," + per.Money);
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
Console.WriteLine("反序列化成功");
Console.ReadLine();
}
}

}

}

运行结果:

时间: 2024-11-03 15:03:18

c# 用binary实现序列化和反序列化的相关文章

[leetcode]297. Serialize and Deserialize Binary Tree 序列化与反序列化二叉树

Serialization is the process of converting a data structure or object into a sequence of bits so that it can be stored in a file or memory buffer, or transmitted across a network connection link to be reconstructed later in the same or another comput

序列化和反序列化代码

1.UserInfo对象类 [Serializable] public class UserInfo { public string Name { get; set; } public int Age { get; set; } } 2.Xml方式序列化和反序列化 public class XmlSerialization { public static void XmlSerialize(UserInfo user) { XmlSerializer serializer = new XmlSe

c#的序列化与反序列化

序列化与反序列化 这个可以直接把对象转化为二进制进行存储与通信; 在需要序列化的类前加[Serializable],使用BinaryFormatter类来进行操作; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.Runtime.Serialization

C#序列化与反序列化实例

本文实例讲述了C#序列化与反序列化的方法.分享给大家供大家参考.具体分析如下: 把"对象"转换为"字节序列"的过程称为对象的序列化.     把"字节序列"恢复为"对象"的过程称为对象的反序列化. 序列化 代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; usi

lintcode 中等题:binary tree serialization 二叉树的序列化和反序列化

题目 二叉树的序列化和反序列化 设计一个算法,并编写代码来序列化和反序列化二叉树.将树写入一个文件被称为“序列化”,读取文件后重建同样的二叉树被称为“反序列化”. 如何反序列化或序列化二叉树是没有限制的,你只需要确保可以将二叉树序列化为一个字符串,并且可以将字符串反序列化为原来的树结构. 样例 给出一个测试数据样例, 二叉树{3,9,20,#,#,15,7},表示如下的树结构: 3 / 9 20 / 15 7 我们的数据是进行BFS遍历得到的.当你测试结果wrong answer时,你可以作为输

C# 序列化与反序列化Serialization之Json Xml Binary Soap JavaScript序列化

所谓的序列化其实就是把一个内存中的对象信息转化成一个可以持久化保存的形式,方便保存数据库和文件或着用于传输, 序列化的主要作用是不同平台之间进行通信与信息的传递保存等,常用的有序列化有Json Xml Binary Soap JavaScript序列化等,当然我们也可以使用第三方的序列化类库,第三方的序列化类库可以参照网上的,这里不再赘述, 本文主要介绍Json Xml Binary Soap JavaScript等6种序列化的方法, 添加引用以下类库 using System.Runtime.

C#对象序列化与反序列化

1.对象序列化的介绍 (1).NET支持对象序列化的几种方式 二进制序列化:对象序列化之后是二进制形式的,通过BinaryFormatter类来实现的,这个类位于System.Runtime.Serialization.Formatters.Binary命名空间下. SOAP序列化:对象序列化之后的结果符合SOAP协议,也就是可以通过SOAP 协议传输,通过System.Runtime.Serialization.Formatters.Soap命名空间下的SoapFormatter类来实现的.

Jackson序列化和反序列化Json数据完整示例

Jackson序列化和反序列化Json数据 Web技术发展的今天,Json和XML已经成为了web数据的事实标准,然而这种格式化的数据手工解析又非常麻烦,软件工程界永远不缺少工具,每当有需求的时候就会出现各种类库,框架以及工具来解决这些基础的问题,Jackson就是这些工具中的一个,使用这个工具开发者完全可以从手工结束Json数据的重复劳动中解放出来.使用Jackson首先需要下载相应的类库,如下的Maven dependency列出了完整的POM dependency. 1 <dependen

序列化和反序列化

两种方法: 1.using System.Runtime.Serialization.Formatters.Binary;//二进制序列化器所在命名空间2.using System.Runtime.Serialization.Formatters.Soap;//using System.IO;//流的 反序列化:流--->对象 一个类要想能够序列化,需要给这个类加一个attribute:即在类的定义之前加[Serializable],写在using xxxx  下面,命名空间之外. 二进制格式化