C# 控制台模拟序列化和反序列化
序列化:将对象转换成二进制串的过程
反序列化:将序列化过程中产生的二进制串转换成对象的过程
作用:传输数据
using System;
namespace WriteTextContent
{
[Serializable]
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public char Sex { get; set; }
public string DisplayInfo()
{
return "我的姓名是:" + Name + "\n我的年龄是:" + Age + "\n我的性别是:" + Sex;
}
}
}
using System;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
namespace WriteTextContent
{
class Program
{
static void Main(string[] args)
{
IFormatter formatter = new BinaryFormatter();
Console.WriteLine("对象序列化开始.....");
var me = new Person
{
Name = "tom",
Age = 22,
Sex = '男'
};
//创建文件流
Stream stream = new FileStream("123.txt", FileMode.OpenOrCreate, FileAccess.Write, FileShare.None);
formatter.Serialize(stream, me);
stream.Close();
Console.WriteLine("序列化结束!\n");
Console.WriteLine("反序列化开始……");
//反序列化
Stream destream = new FileStream("123.txt", FileMode.Open, FileAccess.Read, FileShare.Read);
var stillme = (Person)formatter.Deserialize(destream);
stream.Close();
Console.WriteLine("反序列化结束,输出对象信息……");
Console.WriteLine(stillme.DisplayInfo());
Console.ReadKey();
}
}
}
实现效果:

C# 控制台模拟序列化和反序列化的更多相关文章
- .net core Json字符串的序列化和反序列化通用类源码,并模拟了10万数据对比DataContractJsonSerializer和Newtonsoft性能
我们在开发中Json传输数据日益普遍,有很多关于Json字符串的序列化和反序列化的文章大多都告诉你怎么用,但是却不会告诉你用什么更高效.因为有太多选择,人们往往会陷入选择难题. 相比.NET Fram ...
- java 的序列化和反序列化的问题
引言 将 Java 对象序列化为二进制文件的 Java 序列化技术是 Java 系列技术中一个较为重要的技术点,在大部分情况下,开发人员只需要了解被序列化的类需要实现 Serializable 接口, ...
- WebAPI调用笔记 ASP.NET CORE 学习之自定义异常处理 MySQL数据库查询优化建议 .NET操作XML文件之泛型集合的序列化与反序列化 Asp.Net Core 轻松学-多线程之Task快速上手 Asp.Net Core 轻松学-多线程之Task(补充)
WebAPI调用笔记 前言 即时通信项目中初次调用OA接口遇到了一些问题,因为本人从业后几乎一直做CS端项目,一个简单的WebAPI调用居然浪费了不少时间,特此记录. 接口描述 首先说明一下,基于 ...
- 第12讲-Java中的IO操作及对象的序列化与反序列化
1.知识点 1.1.课程回顾 1.2.本章重点 1.2.1 io操作 1.2.2 对象的序列化与反序列化 2.具体内容 2.1.Java IO 2.1.1.什么是IO IO其实就是输入.输出 I ...
- 在C#中,Json的序列化和反序列化的几种方式总结
在这篇文章中,我们将会学到如何使用C#,来序列化对象成为Json格式的数据,以及如何反序列化Json数据到对象. 什么是JSON? JSON (JavaScript Object Notation) ...
- XmlSerializer 对象的Xml序列化和反序列化
http://www.cnblogs.com/yukaizhao/archive/2011/07/22/xml-serialization.html 这篇随笔对应的.Net命名空间是System.Xm ...
- WCF初探-24:WCF序列化和反序列化
前言 WCF包含很多封装的内部机制,这些是我们在编写程序时不会经常看到的.比如上一篇讲解的Message.这一篇我将讲解WCF的另一种内部机制,WCF的序列化和反序列化.通常我们在编写WCF服务程序的 ...
- XmlSerializer 对象的Xml序列化和反序列化,XMLROOT别名设置
这篇随笔对应的.Net命名空间是System.Xml.Serialization:文中的示例代码需要引用这个命名空间. 为什么要做序列化和反序列化? .Net程序执行时,对象都驻留在内存中:内存中 ...
- Net中JSON序列化和反序列化处理(日期时间特殊处理)
0 缘由 笔者最近在web api端使用Json.Net进行序列化处理,而在调用端使用DataContractSerializer进行反序列化,遇到日期时间处理反序列化不成功[备注:笔者使用Net ...
随机推荐
- shiro权限控制入门
一:权限控制两种主要方式 粗粒度 URL 级别权限控制和细粒度方法级别权限控制 1.粗粒度 URL 级别权限控制 可以基于 Filter 实现在数据库中存放 用户.权限.访问 URL 对应关系, 当前 ...
- 记一次使用cmd执行java文件遇到的坑...包括“使用java命令运行class文件提示“错误:找不到或无法加载主类“的问题”
今天写了一个java文件,类似聊天软件的东西.在eclipse里输入输出显得没感觉,于是乎就准备在cmd里输入和显示输出.如下图,我准备运行的是ChatDemo.class文件.路径是:D:\work ...
- 工厂模式的C++、Java实现
1.工厂模式UML 图1. 工厂模式UML 2.C++实现 类视图如下: 图2. 工厂模式C++实现的类图 其中,Factory实现为: //工厂类. class Factory { public: ...
- K2P断流问题
本帖最后由 yufei8051 于 2019-3-15 15:29 编辑 感谢 “zhc887”的指点,把这3个文件删除后(后面大神说不是删除是清除,我直接删掉貌似也正常,建议听大神的)从这两天的使用 ...
- ArcEngine交互画线
代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-- ...
- 如何在VS2010环境下编译C++程序
原文:http://blog.csdn.net/gupengnina/article/details/7441203 用 Visual Studio 编写 Visual C++ 程序的第一步是选择项目 ...
- sqlite 时间函数及时间处理
SQLite分页显示:Select * From news order by id desc Limit 10 Offset 10这篇文章是根据 SQLite 官方 WIKI 里的内容翻译,如果有什么 ...
- 【Machine Learning】决策树之ID3算法 (2)
决策树之ID3算法 Content 1.ID3概念 2.信息熵 3.信息增益 Information Gain 4. ID3 bias 5. Python算法实现(待定) 一.ID3概念 ID3算法最 ...
- js结构化命名的思考
var koooke ={androidShare:{ show : function() {alert(1000)}}};koooke.androidShare.show(); 以上JS是偶然缩写. ...
- PPTP vs. OpenVPN vs. L2TP/IPsec vs. SSTP
Which is the Best VPN Protocol? PPTP vs. OpenVPN vs. L2TP/IPsec vs. SSTP Want to use a VPN? If you’r ...