成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

談談序列化,關于.net中的二進制序列化和xml序列化

開發 后端
序列化是將對象狀態轉換為可保持或傳輸的格式的過程。與序列化相對的是反序列化,它將流轉換為對象。這兩個過程結合起來,可以輕松地存儲和傳輸數據。本文主要介紹.NET中的二進制序列化和XML序列化。

序列化技術,就是將對象持久存儲。 可以這樣理解:序列化就是將對象占用的內存的數據copy到持久存儲設備,比如硬盤。序列化有什么用呢?

兩點作用:

1、持久的存儲對象狀態;

2、分布式運算中傳遞數據的底層實現。

.Net框架封裝的序列化技術包含兩種,即 二進制序列化 和 xml序列化

(以下代碼都要求被序列化的對象的類型使用Serializable特征類)

二進制序列化的實現 (using System.Runtime.Serialization.Formatters.Binary;)

序列化代碼:

  1. //打開文件流  
  2. FileStream fs = new FileStream(保存序列化數據的文件路徑, FileMode.OpenOrCreate);  
  3. //創建二進制序列化對象  
  4. BinaryFormatter bf = new BinaryFormatter();  
  5. //調用二進制序列化對象的序列化方法執行序列化操作  
  6. bf.Serialize(fs, 被序列化的對象);  
  7. //關閉文件流  
  8. fs.Close(); 

反序列化代碼:

  1. //打開文件流  
  2. FileStream fs = new FileStream(保存序列化數據的文件路徑, FileMode.OpenOrCreate);  
  3. //創建二進制序列化對象  
  4. BinaryFormatter bf = new BinaryFormatter();  
  5. //調用二進制序列化對象的反序列化方法執行反序列化操作  
  6. 從文件中反序列化得到的對象 = bf.Deserialize(fs) as 被序列化對象的類型;  
  7. //關閉文件流  
  8. fs.Close(); 

XML序列化的實現(using System.Xml.Serialization;)

序列化代碼:

  1. //打開文件流  
  2. FileStream fs = new FileStream(保存序列化數據的文件路徑, FileMode.OpenOrCreate);  
  3. //創建XML序列化對象  
  4. XmlSerializer xs = new XmlSerializer(typeof(被序列化對象的類型));  
  5. //調用XML序列化對象的序列化方法執行序列化操作  
  6. xs.Serialize(fs, 被序列化的對象);  
  7. //關閉文件流  
  8. fs.Close(); 

反序列化代碼:

  1. //打開文件流  
  2. FileStream fs = new FileStream(保存序列化數據的文件路徑, FileMode.OpenOrCreate);  
  3. //創建XML序列化對象  
  4. XmlSerializer xs = new XmlSerializer(typeof(被序列化對象的類型));  
  5. //調用XML序列化對象的反序列化方法執行反序列化操作  
  6. 從文件中反序列化得到的對象 = xs.Deserialize(fs) as 被序列化對象的類型;  
  7. //關閉文件流  
  8. fs.Close(); 

當然這里所提供的是序列化和反序列化的默認實現,能應付大多數運用。 特殊情況可以還需要重寫序列化的默認實現。MSDN里面也有較詳細的示例代碼。

【編輯推薦】

  1. .NET入門教程 學習.NET的幾個基本步驟
  2. 使用ASP.NET操作IIS7中使用應用程序
  3. 解析.NET中容易混淆的委托與接口
  4. VB.NET和ASP.NET編碼規范
  5. 回顧.NET Remoting分布式開發
責任編輯:于鐵 來源: 17fx.Net
相關推薦

2011-05-18 15:20:13

XML

2009-09-09 14:45:41

XML序列化和反序列化

2009-09-09 15:47:27

XML序列化和反序列化

2011-06-01 15:05:02

序列化反序列化

2022-08-06 08:41:18

序列化反序列化Hessian

2009-08-24 17:14:08

C#序列化

2009-08-06 11:16:25

C#序列化和反序列化

2023-12-13 13:49:52

Python序列化模塊

2009-09-09 16:10:11

.NET序列化和反序列

2009-07-29 13:39:02

JSON序列化和反序列ASP.NET AJA

2012-04-13 10:45:59

XML

2018-03-19 10:20:23

Java序列化反序列化

2009-06-14 22:01:27

Java對象序列化反序列化

2011-04-02 13:47:01

2019-11-20 10:07:23

web安全PHP序列化反序列化

2009-08-25 14:24:36

C#序列化和反序列化

2021-11-18 07:39:41

Json 序列化Vue

2013-03-11 13:55:03

JavaJSON

2009-08-25 14:43:26

C#序列化和反序列化

2010-03-19 15:54:21

Java Socket
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一区二区三区 | 久久不卡区 | 国产一区二区三区久久久久久久久 | 欧美第一区 | 91天堂网 | 亚洲精品国产一区 | 国产精品1区2区 | 欧美一区二区三区在线 | 国产在线aa| 婷婷综合色 | 国产ts人妖系列高潮 | 欧美成人a | 国产三区视频在线观看 | 狠狠狠色丁香婷婷综合久久五月 | 嫩草视频在线免费观看 | 久久99视频精品 | 免费视频一区二区 | 日韩综合一区 | 亚洲综合激情 | 在线视频中文字幕 | 国产精品亚洲成在人线 | 91精品国产一区二区三区动漫 | av电影手机版 | aaaaa毛片| av在线一区二区 | 精品久久香蕉国产线看观看亚洲 | 亚洲九九精品 | 97精品超碰一区二区三区 | 91在线成人| 亚洲精久久久 | 亚洲视频第一页 | 精品久久久久久久久久久下田 | 免费成人毛片 | 韩国理论电影在线 | 日本亚洲欧美 | 欧美激情在线观看一区二区三区 | 久久亚洲一区二区 | 干干干操操操 | 中文成人在线 | 毛片a | 日韩成人精品一区二区三区 |