序列化是将对象在内存中的2进制数据写入到bin文件中,这个操作就需要引入命名空间using System.Runtime.Serialization.Formatters.Binary;以下是序列化和反序列化代码

序列化代码:     /// <summary>/// 保存配置文件/// </summary>public void SaveFile(){首先将数据保存到作临时存储用的泛型中manager.Temp.Clear();foreach (TreeNode node in this.tvSongList.Nodes){List<SongInfo> songList = node.Tag as List<SongInfo>;Temp temp = new Temp();temp.TreeNodeName = node.Text;temp.SongList = songList;manager.Temp.Add(temp);}打开文件流,创建BinaryFormatter对象调用BinaryFormatter对象的Serialize方法,传入两个参数(文件流对象,需要序列化的对象)因为序列化的时候需要用到文件流,因为使用文件流时可能出现异常,所以用try{}catch{}检测异常try{FileStream fs = new FileStream(@"save.bin", FileMode.Create);BinaryFormatter bf = new BinaryFormatter();bf.Serialize(fs, manager);fs.Close();}catch (Exception){return;}}反序列化代码:创建文件流,创建BinaryFormatter对象调用BinaryFormatter对象的Deserialize方法,传入参数(文件流对象)将需要Deserialize的返回值强制转换,然后赋值给需要反序列化的对象

因为序列化的时候需要用到文件流,因为使用文件流时可能出现异常,所以用try{}catch{}检测异常
            try{FileStream fs = new FileStream(@"save.bin", FileMode.Open);BinaryFormatter bf = new BinaryFormatter();this.manager = (SongManager)bf.Deserialize(fs);fs.Close();}catch (Exception){return;} 

 

转载于:https://www.cnblogs.com/BrightMoon/archive/2013/02/24/2924262.html

C# 序列号和反序列化相关推荐

  1. 面试:什么是序列化,怎么序列化,为什么序列化,反序列化会遇到什么问题,如何解决?...

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | riemann_ 来源 | blog.csdn ...

  2. php 传递类名,php 对象和数组序列化 serialize()返回字符串方便存储和传递 unserialize()反序列化 不丢失类型和结构...

    现在开发中经常使用序列号和反序列化技术手段,php开发中也大量使用到.如下几个知名系统都使用了大量的序列化技术ecshop 2. phpcms内容管理系统 3.laravel框架 一.序列号的目的? ...

  3. 什么是序列化,怎么序列化,为什么序列化,反序列化会遇到什么问题,如何解决。...

    作者:riemann_ blog.csdn.net/riemann_/article/details/87835260 遇到这个 Java Serializable 序列化这个接口,我们可能会有如下的 ...

  4. oracle存储过程如何传递一个bean对象_对象传输,序列化和反序列化

    一.前言 二.基本概念 2.1 序列化和反序列化的定义及最重要的作用 序列化的定义:Java序列化就是指把Java对象转换为字节序列的过程: 反序列化的定义:Java反序列化就是指把字节序列恢复为Ja ...

  5. Java之序列化和反序列化

    字符流和字节流,他们的操作对象是:字节(二进制),字符 序列化和反序列化的操作主体对象是:对象和二进制 什么是序列化和反序列化? 序列化:将对象转换成二进制 反序列化:从二进制中将二进制转换成对象(类 ...

  6. 序列每天从0开始_序列化、反序列化原理和Protobuf实现机制

    1.基本概念 1.1 什么是序列化和反序列化 (1)Java序列化是指把Java对象转换为字节序列的过程,而Java反序列化是指把字节序列恢复为Java对象的过程: (2)序列化:对象序列化的最主要的 ...

  7. 序列化和反序列化的详解

    一.基本概念 1.序列化和反序列化的定义: (1)Java序列化就是指把Java对象转换为字节序列的过程 Java反序列化就是指把字节序列恢复为Java对象的过程. (2)序列化最重要的作用:在传递和 ...

  8. 什么是序列化与反序列化,为什么序列化

    转载:https://blog.csdn.net/qq_27093465/article/details/78544505 遇到这个 Java Serializable 序列化这个接口,我们可能会有如 ...

  9. 序列化和反序列化的概念及应用

    1.序列化和反序列化的概念 序列化:把对象转换为字节序列的过程. 反序列化:把字节序列恢复为对象的过程称. 2.什么情况下需要序列化 把内存中的对象状态保存到一个文件中或者数据库中时候: 用套接字在网 ...

最新文章

  1. 如何发表cscd核心论文_新手如何发表论文
  2. Android 卡片翻转动画效果
  3. iPhoneUI元素的大小
  4. Java在生活中的应用盘点!
  5. 授人以鱼不如授人以渔,UCHome全面大解析培训活动【第三集】
  6. 未完待续:关于DB Link和SCN,你还需要知道的是...
  7. OpenShift 4 之Istio-Tutorial (3) 监控微服务运行
  8. Windows TensorFlow环境搭建
  9. java array 元素的位置_介绍java中的两种排序工具Arrays和Collections
  10. mysql 个版本区别_MySQL各个版本区别
  11. masm5安装教程_masm5 1、下载个masm5.0(简单 联合开发网 - pudn.com
  12. Freemarker word导出教程
  13. 简仿Path的商店表情弹出模块
  14. Serializer序列化器----反序列化使用
  15. 计算机制造商logo,如何更改系统oem制造商logo等信息
  16. 幻14 连不上无线网 网卡掉驱动
  17. 微信小程序的选择收货地址、新增地址、地址管理等模块的总结(1)
  18. python调用有道翻译_Python调用有道翻译
  19. Ubuntu安装GVM-11并使用gvm-tools命令行方式通讯
  20. Python创建自己的聊天机器人

热门文章

  1. 使用Protobuf推动微服务和REST API的开发
  2. 使用实体框架核心创建简单的审计跟踪
  3. 使用.net core和abp框架实现动态webapi的简单说明
  4. 有关Visual Studio Code的说明
  5. linux c 语言 errno 我个头,Linux错误代码:errno.h与返回值 -EINVAL
  6. element tabs 添加事件_JavaScript-跨浏览器事件处理程序-Web前端教程
  7. 死亡搁浅运送系统服务器,死亡搁浅订单23寻物系统服务器流程介绍-死亡搁浅订单23寻物系统服务器怎么做_牛游戏网...
  8. java 输出视频文件格式_java – 如何从各种视频文件格式中提取元数据?
  9. python函数的内涵_python内涵段子文章爬取
  10. java 日历工具_java中强大的时间处理工具:Calendar类(日历类)