C# 序列化与反序列化
来源:互联网 发布:恶灵附身优化怎么样 编辑:程序博客网 时间:2024/06/06 03:47
序列化:将对象转化为二进制,方便存储和数据交换。
byte[ ]是任何数据的最根本表示形式,任何数据最终都是二进制的。
反序列化:将二进制转换为对象
目的:传输数据(网络中传输数据的形式)
方法:
1、将要 序列化对象的类,标记为可被序列化的;在类的上面标记[serializable]
2、只有被[serializable]标记的类创建的对象才可以被序列化;但是这个类不可以被继承。
3、BinaryFormatter 用来序列化二进制;调用序列化的函数:.Serialize( )
通过一个流将一个二进制文件写入到指定目的;再进过反序列化读取文件
using System.IO; //流所在的命名空间
using System.Runtime.Serialization.Formatters.Binary; // 序列化所在的命名空间
=======================================================================
序列化 father fa1 = new father(); fa1.Name = "dad"; fa1.Profession = "peasant"; string path = @"C:\Users\Administrator\Desktop\a.txt"; using(FileStream filw=new FileStream(path,FileMode.OpenOrCreate,FileAccess.Write )) { // 将对象序列成二进制,开始序列化对象 BinaryFormatter bf = new BinaryFormatter();// bf.Serialize(filw,fa1); // 序列化对象,通过流自动将内容写入到文件中 }---------------------------------------------------------------------------------------------------------------------------------------------------------
反序列化
// 接受对方发过来的数据,反序列话为对象 father ff; using(FileStream filr=new FileStream (path,FileMode.OpenOrCreate ,FileAccess .Read )) { BinaryFormatter bby = new BinaryFormatter(); ff=(father)bby.Deserialize(filr); // 反序列话deserialize,返回的类型为object } [Serializable ] // 只有被[serializable]标记的类创建的对象才可以被序列化 public class father { string _name; public string Name { get { return _name; } set { _name = value; } } string _profession; public string Profession { get { return _name; } set { _name = value; } } void word() { Console.WriteLine("This is a class"); }
阅读全文
0 0
- c#序列化与反序列化
- C#序列化与反序列化
- C#序列化与反序列化
- c#序列化 与 反序列化
- C#序列化与反序列化
- C# 序列化与反序列化
- C#序列化与反序列化
- C#序列化与反序列化
- C#序列化与反序列化
- C# 序列化与反序列化
- C#序列化与反序列化
- C# 序列化 与 反序列化
- C#序列化与反序列化
- C# 序列化与反序列化
- C#序列化与反序列化
- c#序列化与反序列化
- C#序列化与反序列化
- C#序列化与反序列化
- LeetCode 145 Binary Tree Postorder Traversal(二叉树后序遍历)
- JavaScript
- codeforces 770B Maximize Sum of Digits
- pom.xml添加spring依赖,统一管理版本
- MVC Controller向View传值(ViewData与ViewBag)
- C# 序列化与反序列化
- 千万别把qq截图直接复制到csdn,写完后会不见的!
- Eclipse常用快捷键
- Kotlin概述与Java的比较
- css使用方法和选择器、优先级别和权值
- spring自定义标签原理
- win10下导入theano报错
- Python Code: 利用QQ邮箱发送邮件,解决SMTPAuthenticationError:530错误
- Solr集群